我有以下列表。比较两个不同对象的列表
与Person对象的一个列表有ID &名称属性。其他与People对象的列表有ID,名称& Address属性。
List<Person> p1 = new List<Person>();
p1.Add(new Person() { Id = 1, Name = "a" });
p1.Add(new Person() { Id = 2, Name = "b" });
p1.Add(new Person() { Id = 3, Name = "c" });
p1.Add(new Person() { Id = 4, Name = "d" });
List<People> p2 = new List<People>();
p2.Add(new People() { Id = 1, Name = "a", Address=100 });
p2.Add(new People() { Id = 3, Name = "x", Address=101 });
p2.Add(new People() { Id = 4, Name = "y", Address=102 });
p2.Add(new People() { Id = 8, Name = "z", Address=103 });
想过滤清单,所以我使用下面的代码。但代码返回ID列表。我想要List of People对象与匹配的ID。
var filteredList = p2.Select(y => y.Id).Intersect(p1.Select(z => z.Id));
'加入'P1和P2在Id – ASh
你到底在做什么?你是否想要一个人员列表中存在相同ID的人员集合? – DavidG
'人'的同一'Id'有不同的名字怎么可能? 你究竟想达到什么目的? – llouk