比较两个哈希集合?

6

我有两个哈希集合,就像这样:

HashSet<string> log1 = new HashSet<string>(File.ReadLines("log1.txt"));
HashSet<string> log2 = searcher(term);

我该如何比较这两个东西?

我想确保log2中不包含任何来自log1的条目。换句话说,我想要移除log2中所有(如果有的话)log1已经存在的项目。


遍历log1中的每个元素,并将它们与log2中的每个元素进行比较,这就是我会做的方式。虽然我不确定如何访问单个元素。我猜你可以构造一个foreach(string s in log1)来实现吗?注意:我从未使用过HashSet类型,我只是猜测。 - Jamie Taylor
3个回答

15

7
使用LINQ:
log1.Intersect(log2).Any()

请参考MSDN上的IntersectExcept

@RoyiNamir - Any() 更好。 - Oded
@RoyiNamir 如果你需要检查罐子里是否有硬币,你不必数它们,而是检查是否存在任何一个? - Sandeep

1
你看过 ExceptWith 函数吗?

从当前 HashSet 对象中移除指定集合中的所有元素。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接