Извлечение списка объектов, которые существуют в другом списке объектов, используя linq - PullRequest
0 голосов
/ 12 февраля 2010

Линк нуб здесь.

У меня есть IList<Product> Применимые продукты и IList<Product> Текущие продукты.

Мне нужно вернуть новый IList<Product> всех CurrentProducts, которые существуют в Применимых продуктах.

Я понимаю, что мне нужно работать с .Contains и .Any, но немного заблудиться.

Любые советы приветствуются

Ответы [ 2 ]

4 голосов
/ 12 февраля 2010

http://msdn.microsoft.com/en-us/library/system.linq.enumerable.intersect.aspx

var intersection = list1.Intersect(list2);

или

var intersection = list1.Where(i => list2.Contains(i));
2 голосов
/ 12 февраля 2010

Может быть сделано без LINQ. Здесь:

var identical = applicableProducts.Intersect(currentProducts);

Вы также можете указать свои IEqualityComparer.

...