При условии, что класс Department
реализует Equals
и GetHashcode
методы, которые вы можете попробовать Linq
Если вы хотите убедиться, что все отделы employee
имеют list
вы можете попробовать Except
(нет никакого отдела, который находится в employee.Departments
, но не в list
):
if (! employee.Departments.Except(list).Any()) {
// All Departments of employee are within list
}
Если вы хотите найти Department
s, которые находятся в оба списка используют Intersect
:
var inBoth = employee
.Departments
.Intersect(list);
foreach (var depart in inBoth)
depart.Name += " employee have this list item";