I have two collections of type ICollection called c1 and c2. I\'d like to find the set of items that are in c2
ICollection
c1
c2
If using C# 3.0 + Linq:
var complement = from i2 in c2 where c1.FirstOrDefault(i1 => i2.Id == i1.Id) == null select i2;
Loop through complement to get the items.