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

10

假设我有两个如下所示的列表:

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

有没有一种方法可以获得这个?

4
你有搜索过吗?关于这个问题有太多的搜索结果。 - esiprogrammer
2
可能是两个列表形成联合的最简单方法的重复问题。 - dana
3个回答

29

尝试使用Union 扩展方法。

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

使用默认的相等比较器,Union 方法将两个序列的并集生成一个新序列,结果仅包含来自两个列表中不同的值。


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

2
使用 Linq 方法 Concat()Distinct()
listA.Concat(listB).Distinct().ToList();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接