对于我正在编写的一些代码,我有一个方法可以检查新对象的所有现有对象的类似属性。
此方法返回Dictionary<int, List<int>>
。它们的键是唯一的对象ID,List包含与新对象类似的属性。 (Constant.Name,Constant.StartDt等)。
现在,有几种不同类型的匹配不会发生。我需要一种方法来比较匹配的各种组合与这些列表中的内容,我需要能够知道匹配了哪个匹配。
因此,我考虑为每个匹配创建一个List,并将每个列表与返回的属性列表进行比较。但是,我知道我之前在Java中做过类似的事情并且它有一个缺陷 - 它与订单相匹配......我只需要知道每个列表是否包含这些项目。
所以,有两个问题:
答案 0 :(得分:9)
您可以使用LINQ Intersect方法:
http://msdn.microsoft.com/en-us/library/system.linq.enumerable.intersect.aspx
int[] id1 = { 44, 26, 92, 30, 71, 38 };
int[] id2 = { 39, 59, 83, 47, 26, 4, 30 };
IEnumerable<int> both = id1.Intersect(id2);
foreach (int id in both)
Console.WriteLine(id);