我有两个对象列表,我需要比较这两个列表,并得到不匹配记录的结果。
var oldlist = new List<Employee>{
new Employee(){EmployeeID=123,Name="XXXX",Gender="Male",code="CSE"},
new Employee(){EmployeeID=231,Name="FFF",Gender="Male",code="EC"},
new Employee(){EmployeeID=431,Name="GGG",Gender="Female",code="IT"},
new Employee(){EmployeeID=543,Name="DDD",Gender="Female",code="IT"}
}
var newlist = new List<Employee>{
new Employee(){EmployeeID=123,Name="HHH",Gender="Male",code="IT"},
new Employee(){EmployeeID=231,Name="JJJ",Gender="FeMale",code="CSE"},
new Employee(){EmployeeID=431,Name="GGG",Gender="Female",code="IT"},
new Employee(){EmployeeID=543,Name="DDD",Gender="Female",code="IT"}
}
在上面的代码中,EmployeeId将是相同的,但任何其他值都会发生变化,例如EmployeeId 123和231的值会发生变化。我只需要获取上面示例中不匹配的记录,结果应该只给予EmployeeId为123和231的记录,因为其余记录未发生变化。
1条答案
按热度按时间83qze16e1#
可以使用
list1.except(list2)
来查找两个列表之间的集合差异:-find-the-set-difference-between-two-lists-linq可以使用以下方法比较两个对象列表: