【问题标题】:How to merge two lists and remove duplicates如何合并两个列表并删除重复项
【发布时间】:2017-06-05 15:14:04
【问题描述】:

鉴于我有两个如下列表:

var listA = new List<string> { "test1", "test2", "test3" };
var listB = new List<string> { "test2", "test3", "test4" };

我想要第三个列表:

var listC = new List<string> { "test1", "test2", "test3", "test4"}

有没有办法得到这个?

【问题讨论】:

标签: c# linq list join


【解决方案1】:

尝试Union 扩展方法。

var result = listA.Union(listB).ToList();

Union 使用默认相等比较器生成两个序列的集合并集,因此结果仅包含两个列表中不同的值。

【讨论】:

    【解决方案2】:

    使用Concat(),然后使用Distinct() Linq 方法

    listA.Concat(listB).Distinct().ToList();
    

    【讨论】:

      【解决方案3】:
      listA.AddRange(listB).Distinct().ToList();
      

      【讨论】:

        猜你喜欢
        • 2015-11-29
        • 2010-11-22
        • 1970-01-01
        • 2015-09-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多