c# HashSet 列表去重

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>类那样重排集合。

原文地址:https://www.cnblogs.com/jasonlai2016/p/10332655.html