检查两个列表是否有碰撞元素?

有没有办法检查一个列表是否与另一个列表发生冲突? 例如:

bool hit=false; foreach(var s in list2) { if (list1.Contains(s)) { hit = true; break; } } if (!hit) { 

.NET有许多可用于枚举的集合操作,因此您可以使用集合交集来查找两个列表中的成员。 使用Any()查明结果序列是否有任何条目。

例如

 if(list1.Intersect(list2).Any()) 

你总是可以使用linq

 if (list1.Intersect(list2).Count() > 0) ... 

如果你能够使用Linq那么if(list1.Intersect(list2).Count > 0) {...collision...}