C#检查列表中的任何int是否与另一个列表中的任何int匹配

soc*_*man 4 c# list

如果这是一个明显的问题,我道歉,但我找不到答案.

说我有以下内容:

var list1 = new List<int>{1,2,3};
var list2 = new List<int>{3,5,6};
Run Code Online (Sandbox Code Playgroud)

如何查看list2中是否包含list1的任何元素?所以在这种情况下我想返回true,因为3都在两者中.

执行嵌套循环对我来说不起作用,所以如果有一个:

list1.HasElementIn(list2);
Run Code Online (Sandbox Code Playgroud)

Ser*_*kiy 13

使用Enumerable.Intersect - 它产生两个序列的交集.如果交集不为空,那么两个序列中都存在一些项:

bool isAnyItemInBothLists = list1.Intersect(list2).Any();
Run Code Online (Sandbox Code Playgroud)

有一点需要注意 - 因此Intersect是一个延迟流媒体操作符,然后只要找到任何常用项目就会得到结果.因此,您无需等到计算完整的交叉点.