如何使用C#中的LINQ检查List是否包含另一个List中存在的元素?我不想使用for / while循环。
所以,如果List1有A,B,C和List2有B,1,2,那么我会返回true。
答案 0 :(得分:34)
试试这个:
List<string> a = ...
List<string> b = ...
var inComon = a.Intersect(b).Any();
答案 1 :(得分:14)
List<string> l1 = new List<string> { "1", "2" };
List<string> l2 = new List<string> { "1", "3" };
var result = l2.Any(s => l1.Contains(s));
我会说Intersect
方法(请参阅 dasblinkenlight 的回答)+ Any
必须比Contains
+ Any
更好。使用Any
比Count
明确更好。