转载于:http://www.importnew.com/6931.htmlhtml
HashSet<T>类主要是设计用来作高性能集运算的,例如对两个集合求交集、并集、差集等。集合中包含一组不重复出现且无特性顺序的元素。性能
HashSet<T>的一些特性以下:spa
一、HashSet<T>中的值不能重复且没有顺序。设计
二、HashSet<T>的容量会按需自动添加。code
构造方法:htm
HashSet() 默认相等比较器建立一个空的新实例。对象
HashSet(IEnumerable<T> collection) 把指定集合中的collection中的数据复制到集中blog
HashSet(IEqualityComparer<T> comparer) 使用指定的相等比较器建立一个空的新实例get
HashSet(IEnumerable<T> collection,IEqualityComparer<T> comparer) 使用指定的比较器实例化数据,且将指定集合中的元素复制到集合中。string
由于HashSet<T>是专门设计来作集合运算的,所以它提供的方法中有很多是和集合运算相关的。
如下给出它的一些经常使用方法介绍
成员 类型 说明
Add 方法 将指定的元素添加到集合中
Clear 方法 清空集合中的全部元素
Contains 方法 肯定某元素是否在HashSet<T>中
Exists 方法 肯定HashSet<T>是否包含于指定条件相匹配的元素
ExceptWith 方法 从当前HashSet<T>移除指定集合中的全部元素
IntersectWith 方法 修改当前的HashSet<T>对象,以仅包含该对象和指定集合中存在的元素
IsProperSubsetOf 方法 肯定HashSet<T>对象是否为指定集合的真子集
IsProperSupersetOf 方法 肯定HashSet<T>对象是否为指定集合的真超集
IsSunsetOf 方法 肯定HashSet<T>对象是否为指定集合的子集
IsSupersetOf 方法 肯定HashSet<T>对象是否为指定集合的超集
Remove 方法 从HashSet<T>对象中移除指定的元素
RemoveWhere 方法 从HashSet<T>集合中移除与指定谓词所定义的条件相匹配的全部元素
SetEquals 方法 肯定HashSet<T>对象与指定的集合中是否包含相同的元素
SynmmetricExceptWith 方法 修改当前的HashSet<T>对象,以仅包含该对象或指定集合中存在的元素
TrimExcess 方法 将HashSet<T>对象的容量设置为它所包含的元素的实际个数,向上舍入为接近的特性与实现的值。
UnionWith 方法 修改当前的HashSet<T>对象,以包含该对象自己和指定集合中存在的全部元素
给个简单的例子,写不完的,总之记得HashSet<T>主要的做用是用来进行,交集、并集等运算的就OK了。
static void Main(string[] args) { HashSet<string> hs = new HashSet<string>(); hs.Add("你"); hs.Add("好"); hs.Add("吗"); HashSet<string> hs1 = new HashSet<string>(); hs1.Add("你"); hs1.Add("好"); bool b = hs1.IsProperSubsetOf(hs); //肯定hs1是不是hs的真子集 Console.WriteLine(b); //输出True HashSet<string> hs2 = new HashSet<string>(); hs2.Add("爱你"); IEnumerable<string> list = hs.Union(hs2); //返回并集 foreach (string str in list) { Console.WriteLine(str); //输出 你 好 吗 爱你 } Console.ReadKey(); }