我有 2 个相同对象的列表。现在第一个列表中填充了来自数据库表的数据。另一个列表充满了从服务器下载的数据。
例子:
public class HistoricData {
public int Id{get;set;}
public DateTime Date {get;set;}
public string Name {get;set;}
public float Impressions {get;set;}
}
所以在我的对象中,我有唯一的 Id 属性。现在我需要检查第二个列表中是否有第一个列表中没有的对象。 我以为我可以在 Linq 中做到这一点,但我有点卡住了。
var difference = from objHD in objHistoricData
join objHDN in objHistoricDataNew on objHD.Id equals objHDN.Id
select new {objHDNA = objHDN};
这总是返回 0。
最佳答案
var difference = objHistoricDataNew.Except(objHistoricDataNew, new HistoricDataComparer());
(其中 HistoricDataComparer
是一个 IEqualityComparer<HistoricData>
)
关于C# 比较 2 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1487529/