Linq noob here。使用linq提取另一個列表對象中存在的對象列表
我有適用產品和當前產品。
我需要返回適用產品中存在的所有CurrentProducts的新。
我知道我需要與.Contains和.Any一起工作,但有點失落。
任何提示讚賞
Linq noob here。使用linq提取另一個列表對象中存在的對象列表
我有適用產品和當前產品。
我需要返回適用產品中存在的所有CurrentProducts的新。
我知道我需要與.Contains和.Any一起工作,但有點失落。
任何提示讚賞
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));
可以不使用LINQ。這裏:
var identical = applicableProducts.Intersect(currentProducts);
您可能還需要提供您自己的IEqualityComparer
。
即使用LINQ。 'Intersect'在'System.Linq'命名空間中定義。 – 2010-02-12 14:19:27
對於大集合,調用'相交'應該更快。 (它使用散列表) – SLaks 2010-02-12 14:15:48
@SLaks:是的,我打算推測這一點,但我不確定。謝謝。 – 2010-02-12 14:18:34