Проверьте, содержит ли List <string> элемент в другом List <string>, используя LINQ

Как проверить, содержит ли List элемент, который существует в другом списке, используя LINQ в С#? Я не хочу использовать цикл for/while.

Итак, если List1 имеет A, B, C и List2 имеет B, 1, 2, то я бы вернул true.

Ответ 1

Попробуйте следующее:

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

Ответ 2

Используйте Enumerable.Any Method:

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.