【问题标题】:how to use IComparable<T> to compare 2 List如何使用 IComparable<T> 比较 2 个列表
【发布时间】:2018-09-01 17:07:35
【问题描述】:

例如:

var ExistingGroup = new List<Person>
{
new Person(1,"Rahul","Sharma"),
new Person(2,"Deepak","Jha"),
new Person(3,"Raj","Mishra"),
}

 var NewGroup = new List<Person>
{
new Person(4,"Jay","Mohan"),
new Person(2,"Dileep","Kumar"),
new Person(5,"Mohan","Lal"),
}

输出:

1 Removed
4 Added
2 Changed
3 Removed
5 Added

如何使用IComparable&lt;T&gt; 获得此输出?

【问题讨论】:

    标签: c# .net


    【解决方案1】:

    实施 IComparable 对您没有帮助,因为它旨在启用排序,而不是用于更改跟踪。 您将编写一个包含两个列表的方法,并且:

    1. 遍历第一个列表,同时在另一个列表中搜索每个出现的“人员编号” -> 为您提供已删除的项目
    2. 检查出现在两个列表中的人员是否存在差异 -> 为您提供更改的项目
    3. 反过来重复 -> 给你添加项目

    您可以使用 LINQ 来做到这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-29
      • 1970-01-01
      • 2019-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多