使用LINQ实现两个列表的Concat

使用LINQ实现两个列表的Concat,linq,Linq,我有两个列表列表1和列表2 清单1包含 1 a 2 b 3 c 4 d 清单2包含 3 c 4 d 5 e 我想要下面的列表使用LINQ 1 a 2 b 3 c 4 d 5 e 因为我在这里看不到这个答案,我会把它贴出来 合并两个列表时删除重复项的最佳方法是: var foo=新列表{'a','b','c','d'}; var bar=新列表{'c','d','e'}; var result=foo.Union(bar.ToList();

我有两个列表列表1和列表2

清单1包含

1   a
2   b
3   c
4   d
清单2包含

3   c
4   d
5   e
我想要下面的列表使用LINQ

1   a
2   b
3   c
4   d
5   e

因为我在这里看不到这个答案,我会把它贴出来

合并两个列表时删除重复项的最佳方法是:

var foo=新列表{'a','b','c','d'};
var bar=新列表{'c','d','e'};
var result=foo.Union(bar.ToList();

其余的答案都可以,但Linq有一个内置的方法来实现这一点

l1来自哪里。回答错误我正在使用这个var list1=new List{new tst{Id=1,Val=“a”},new tst{Id=2,Val=“b”},new tst{Id=3,Val=“c”},new tst{Id=4,Val=“d”};var list2=new List{new tst{Id=3,Val=“c”},new tst{Id=4,Val=“d”},new tst{Id=5,Val=“e”};
List1.Concat(List2.Where(l2 => !List1.Contains(l2))).ToList()
var Lst = List1.Concat(List2.Where(l2 => List1.All(x => x.Id != l2.Id))).ToList();
var foo = new List<char> { 'a', 'b', 'c', 'd' };
var bar = new List<char> { 'c', 'd', 'e' };

var result = foo.Union(bar).ToList();