我需要编写一个方法,可以比较两个列表,看看两者之间是否存在任何差异,而没有明确指出要比较的两个列表中的哪个属性。例如,我不能说:
var exceptList = list1.Where (r => r.Name !list2.Any( r2.Name == r.Name ))
粗体部分需要是动态的,因此我可以将该方法重用于不同类型的列表。我知道以下示例不起作用,但我需要类似的东西:
var r = myLeftList.Where(p => !myRighttList.Any(p2 =>
p2.GetType().GetProperties().GetValue(myLeftList.IndexOf(p2)) ==
p.GetType().GetProperties().GetValue(myRighttList.IndexOf(p))));
答案 0 :(得分:0)