如何合并两个列表并删除重复项

时间:2017-01-20 15:17:51

标签: c# linq list join

鉴于我有以下两个列表:

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"}

有办法解决这个问题吗?

3 个答案:

答案 0 :(得分:14)

尝试Union扩展方法。

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

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

答案 1 :(得分:2)

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

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

答案 2 :(得分:1)

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