List<int> list = new List<int>() { 1, 2, 3, 4 }; HashSet<int> hs = new HashSet<int>(list); var a = hs.Count;//4 List<int> list2 = new List<int>() { 1, 2, 3, 2 }; HashSet<int> hs2 = new HashSet<int>(list2); var b = hs2.Count; //3
.NET 3.5在System.Collections.Generic命名空间中包含一个新的集合类:HashSet<T>。这个集合类包含不重复项的无序列表。这种集合称为“集(set)”。集是一个保留字,所以该类有另一个名称HashSet<T>。这个名称很容易理解,因为这个集合基于散列值,插入元素的操作非常快,不需要像List<T>类那样重排集合。