小编典典

HashSet 有什么区别并列出?

all

HashSet<T>您能解释一下 .NET和List<T>.NET之间的区别吗?

也许你可以用一个例子来解释在哪些情况下HashSet<T>应该优先考虑List<T>


阅读 104

收藏
2022-08-01

共1个答案

小编典典

不像 List<> …

  1. HashSet 是一个没有重复成员的列表。

  2. 因为 HashSet 被限制为仅包含唯一条目,所以内部结构针对搜索进行了优化(与列表相比) - 它要快得多

  3. 添加到 HashSet 会返回一个布尔值 - 如果由于 Set 中已经存在而添加失败,则返回 false

  4. 可以对集合执行数学集合操作:Union/Intersection/IsSubsetOf 等。

  5. HashSet 不实现 IList 仅 ICollection

  6. 您不能将索引与 HashSet 一起使用,只能使用枚举数。

使用 HashSet 的主要原因是如果您对执行 Set 操作感兴趣。

给定 2 个集合:hashSet1 和 hashSet2

 //returns a list of distinct items in both sets
 HashSet set3 = set1.Union( set2 );

与使用 LINQ 的等效操作相比。写起来也更整洁!

2022-08-01