我在想,如果有人可以帮助我...LINQ到一个列表进行比较项目的任何项目在另一
有LINQ查询将返回一个布尔值,如果从一个IList<>
任何项目包含INT另一个IList<>
。
这些IList<>'s
是对象,我需要比较对象的一个属性,在这种情况下的“名称”属性?
有没有可以做到这一点的LINQ查询?如果有的话,有人可以告诉我正确的实施?
谢谢
我在想,如果有人可以帮助我...LINQ到一个列表进行比较项目的任何项目在另一
有LINQ查询将返回一个布尔值,如果从一个IList<>
任何项目包含INT另一个IList<>
。
这些IList<>'s
是对象,我需要比较对象的一个属性,在这种情况下的“名称”属性?
有没有可以做到这一点的LINQ查询?如果有的话,有人可以告诉我正确的实施?
谢谢
那么你能预料这两个列表:
if (list1.Select(x => x.Name)
.Intersect(list2.Select(x => x.Name))
.Any())
那是你以后?
我想这应该这样做:
bool matchExists = list1.Any(a1 => list2.Any(a2 => a1.Name == a2.Name));
另外一个为你的选择:
List1.Where(l => List2.Select(s => s.Name).Contains(l.Name)).Any();
阅读条件后更新...我应该在演示前学会阅读。 – 2012-02-10 20:37:19
再次感谢乔恩,这就是我需要的东西! – Nugs 2012-02-10 20:47:50