我有两个列表list1和list2
List1包含
1 a
2 b
3 c
4 d
List2包含
3 c
4 d
5 e
我想使用LINQ
以下列表1 a
2 b
3 c
4 d
5 e
答案 0 :(得分:10)
List1.Concat(List2.Where(l2 => !List1.Contains(l2))).ToList()
答案 1 :(得分:4)
由于我在这里没有看到这个答案,我会发布它......
将两个列表合并在一起时删除重复项的最佳方法是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();
其余的答案都有效,但Linq有一个内置的方法来做到这一点。
答案 2 :(得分:1)
var Lst = List1.Concat(List2.Where(l2 => List1.All(x => x.Id != l2.Id))).ToList();
答案 3 :(得分:0)
var listOne = new List<string>();
var listTwo = new List<string>();
var merge = new List<string>();
merge.AddRange(listOne.Concat(listTwo));