And*_*ndy 5 c# linq ienumerable
假设有这两个强类型列表:
清单 1:现有项目
ID、名称、类别
1、ABC、C
2、BCD、D
3、NNN、F
列表 2:新项目
ID、名称、类别
9、ABC、C
15、BCD、D
12、NNN、F
基本上,我想检查两个列表中的名称和类别值是否相同。如果这两列上的两个列表相同,则返回 true,否则返回 false。
我尝试了一些变化,主要围绕下面的内容,但似乎总是返回 true,即使 newitems 列表有一个新行,我希望返回 false。
newitems.Any(x1 => existingitems.All(x2 => (x1.Name== x2.Name) && (x1.Cat== x2.Cat)));
Run Code Online (Sandbox Code Playgroud)
我相信这对您来说可能是最干净、最简单的解决方案。
var list1Subset = list1.Select(i => new {i.Name, i.Cat});
var list2Subset = list2.Select(i => new {i.Name, i.Cat});
bool equal = list1Subset.SequenceEqual(list2Subset);
Run Code Online (Sandbox Code Playgroud)