Dot-Net
HashSet<T> 和 List<T> 有什麼區別?
HashSet<T>您能解釋一下 .NET和List<T>.NET之間的區別嗎?也許你可以用一個例子來解釋在哪些情況下
HashSet<T>應該優先考慮List<T>?
不像 List<> …
- HashSet 是一個沒有重複成員的列表。
- 因為 HashSet 被限制為僅包含唯一條目,所以內部結構針對搜尋進行了優化(與列表相比) - 它要快得多
- 添加到 HashSet 會返回一個布爾值 - 如果由於 Set 中已經存在而添加失敗,則返回 false
- 可以對集合執行數學集合操作:Union/Intersection/IsSubsetOf 等。
- HashSet 不實現 IList 僅 ICollection
- 您不能將索引與 HashSet 一起使用,只能使用枚舉數。
使用 HashSet 的主要原因是如果您對執行 Set 操作感興趣。
給定 2 個集合:hashSet1 和 hashSet2
//returns a list of distinct items in both sets HashSet set3 = set1.Union( set2 );與使用 LINQ 的等效操作相比。寫起來也更整潔!