HashSet<T>您能解释一下 .NET和List<T>.NET之间的区别吗?
HashSet<T>
List<T>
也许你可以用一个例子来解释在哪些情况下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 的等效操作相比。写起来也更整洁!