有没有办法确定一个集合是否包含来自另一个集合的至少一个元素?
答案 0 :(得分:9)
您可以使用Any()。
var listA = new List<int>();
var listB = new List<int>();
bool hasCommonItem = listA.Any(i => listB.Contains(i));
此外,如果需要,您可以编写IEqualityComparer实现将其作为参数传递给Contains()。
答案 1 :(得分:8)
当然有。
var sourceCollection = GetSourceCollection();
var otherCollection = GetAnotherCollection();
var hasAtLeastOne = sourceCollection.Intersect(sourceCollection).Any();
我认为您的集合属于同一类型:IEnumerable<T>
具有相同的T
通用参数。
首先加载整个sourceCollection
,然后从otherCollection
一次获取一个元素,直到找到第一个常见元素。
答案 2 :(得分:0)
col1.Any(x => col2.Any(y => x==y));