C# 比较 2 列表

标签 c#

我有 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/

相关文章:

c# - 在同一个线程中锁定字典

c# - IIS/SQL Server 连接错误

c# - 我如何知道是使用样式还是覆盖控件模板?

c# - 用于 UWP 应用程序的 Prism 与 mvvm 光

c# - 将值添加到行、检索它们并拆分它们

c# - 检测输入设备类型.NET

c# - 初始 Web 服务调用在 .NET 中需要很长时间

c# - WCF 中的 Raven DB session 管理

c# - 如何在 AppenderSkeleton log4net 中添加自定义属性

c# - 如何根据点获取字符串的子代