I\'m wondering if Linq has a method to check if two collections have at least a single element in common. I would expect something like this:
var listA = new
Sounds like you just want:
bool hasSameElements = listA.Intersect(listB).Any();
EDIT: As noted in comments, Intersect
uses lazy evaluation. It defers all execution until the first element is read from the result; at that point it will load all of listB
into a set, and then stream listA
until it finds a result to yield. At that point, Any()
will return true
and so no more work will be done. See my Edulinq post on Intersect for more information.