我有两个列表 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
我有两个列表 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
List1.Concat(List2.Where(l2 => !List1.Contains(l2))).ToList()
由于我在这里看不到这个答案,所以我将其发布...
将两个列表合并在一起时删除重复项的最佳方法是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 有一个内置的方法来做到这一点。
var Lst = List1.Concat(List2.Where(l2 => List1.All(x => x.Id != l2.Id))).ToList();