使用LINQ检查List 是否包含另一个List 中的元素

如何使用C#中的LINQ检查List是否包含另一个List中存在的元素? 我不想使用for / while循环。

所以,如果List1有A,B,C和List2有B,1,2,那么我会返回true。

试试这个:

List a = ... List b = ... var inComon = a.Intersect(b).Any(); 

使用Enumerable.Any方法 :

 List l1 = new List { "1", "2" }; List l2 = new List { "1", "3" }; var result = l2.Any(s => l1.Contains(s)); 

我会说Intersect方法(见dasblinkenlight的回答)+ Any必须比Contains + Any更好。 使用AnyCount更好。