How do I check whether a List contains an element that exists in another List using LINQ in C#? I don\'t want to use a for/while loop.
So, if List1 has A, B, C and L
Use 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));
I'd say the Intersect
method (see answer by dasblinkenlight) + Any
must work better than Contains
+ Any
. It is definetely better to use Any
than Count
.
Try this:
List<string> a = ...
List<string> b = ...
var inComon = a.Intersect(b).Any();