轉載於: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(); }