【发布时间】:2018-06-07 13:24:27
【问题描述】:
我需要检查两个列表是否有任何共同的元素。 我只需要一个是/否 - 我不需要常见元素的实际列表。
我可以使用Enumerable.Intersect(),但这实际上会返回一组匹配项,这似乎需要额外的开销。 有没有更好的方法来检查列表是否不相交?
我的列表确实恰好是List<T>,但这并不重要,如果更方便的话,我可以使用类似HashSet(比如说)的东西。即,我不想不必要地限制潜在的解决方案。
千玺
【问题讨论】:
-
在相交之后粘贴 .Any()。
-
Enumerable.Intersect().Any()应该(无论如何,IIRC)在找到第一个相交出现后立即返回,而不是返回整个集合。
标签: c# disjoint-sets