更新:2007 年 11 月
本主題會比較 HashSet<T> 作業和語言-整合式查詢 (LINQ) 設定作業。
LINQ 設定作業
LINQ 可提供存取任何實作 IEnumerable 或 IQueryable 介面之資料來源的某些設定作業。包括陣列和集合。
LINQ 所提供的設定作業如下:
相異
等位
交集
除外
如需有關 LINQ 的詳細資訊,請參閱Language-Integrated Query (LINQ)。如需 LINQ 設定作業的詳細資訊,請參閱設定作業。
何時使用 HashSet<T>
LINQ 設定作業與 HashSet<T> 作業的主要差異在於,LINQ 設定作業永遠會傳回一個新的 IEnumerable<T> 集合,而 HashSet<T> 對等方法則會修改目前的集合。HashSet<T> 提供更大、更穩定的設定作業集合。例如 HashSet<T> 會提供如 IsSubsetOf 和 IsSupersetOf 之間的比較。
一般而言,如果您必須建立新的設定,或如果應用程式只需要存取提供的設定作業,則在任何 IEnumerable<T> 集合或陣列上使用 LINQ 設定作業就夠了。但是,如果您的應用程式需要存取其他設定作業,或如果不建議或不需要建立新的集合,請使用 HashSet<T> 類別。
HashSet<T> 和 LINQ 設定作業
下表顯示 HashSet<T> 作業及其對等的 LINQ 設定作業。
HashSet(Of T) 作業 |
LINQ 對等用法 |
|---|---|
不提供 |
|
不提供。 |
|
不提供。 |
|
不提供。 |
|
不提供。 |
|
不提供。 |
|
不提供。 |
|
不提供。 |