У меня есть N списков «Люди». Люди имеют 2 свойства: Id
и Name
. Я хочу найти людей, которые содержатся во всех списках N. Я хочу только совместить идентификатор.Найти общие объекты в списках N
Ниже моя отправная точка:
List<People> result = new List<People>();
//I think I only need to find items in the first list that are in the others
foreach (People person in peoplesList.First()) {
//then this is the start of iterating through the other full lists
foreach (List<People> list in peoplesList.Skip(1)) {
//Do I even need this?
}
}
Я застрял, пытаясь обернуть мою голову вокруг средней части. Мне нужны только те, которые есть в каждом списке от peoplesList.Skip(1)
.
Итак, мы просто продолжаем вносить изменения в существующий список с каждым пересечением. Ницца! Спасибо, я дам этот снимок. –
@DustinBreakey Не новый 'List' (хотя вы * можете * сделать это, просто более неэффективно), новый' IEnumerable', поэтому вы выполняете полный запрос, когда вы повторяете 'commonPeople' на конец. – BradleyDotNET