Какой метод поиска элементов в одной коллекции на основе значения свойства каждого элемента в другой коллекции лучше? Помимо этого, есть ли лучший способ сделать это?Что более эффективно/элегантно?
List<Thing> results;
List<Thing> thingList1 = ...;
List<Thing> thingList2 = ...;
Метод A:
results = thingList1.Where(x => thingList2.Any(y => y.Id == x.Id)).ToList();
Метод B:
foreach (Thing thing in thingList1)
{
results.AddRange(thingList2.Where(x => x.Id == thing.Id).Select(y => thing));
}
?
Возможно, вы должны использовать 'Intersect' – leppie
Определите« лучше ». Это работает? Он работает достаточно быстро? – CodeCaster
@CodeCaster - Я надеялся получить мнения и оправдания. – Corpsekicker