使用LINQ的两个列表的Concat

Man*_*nia 7 linq

我有两个列表list1和list2

List1包含

1   a
2   b
3   c
4   d
Run Code Online (Sandbox Code Playgroud)

List2包含

3   c
4   d
5   e
Run Code Online (Sandbox Code Playgroud)

我想要使​​用LINQ以下列表

1   a
2   b
3   c
4   d
5   e
Run Code Online (Sandbox Code Playgroud)

Oli*_*ver 12

List1.Concat(List2.Where(l2 => !List1.Contains(l2))).ToList()
Run Code Online (Sandbox Code Playgroud)


小智 7

由于我在这里没有看到这个答案,所以我将其发布...

将两个列表合并在一起时删除重复项的最佳方法是Enumerable.Union

var foo = new List<char> { 'a', 'b', 'c', 'd' };
var bar = new List<char> { 'c', 'd', 'e' };

var result = foo.Union(bar).ToList();
Run Code Online (Sandbox Code Playgroud)

其余的答案都有效,但 Linq 有一种内置的方法可以做到这一点。