У меня есть два списка list1 и List2Concat из двух списка с помощью LINQ
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 и List2Concat из двух списка с помощью LINQ
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()
откуда приходит l1. Неверный ответ –
Извините, что это была опечатка, см. Править – Oliver
var Lst = List1.Concat(List2.Where(l2 => List1.All(x => x.Id != l2.Id))).ToList();
var listOne = new List<string>();
var listTwo = new List<string>();
var merge = new List<string>();
merge.AddRange(listOne.Concat(listTwo));
какой-то текст для объяснения материала не повредит ..... – Jaap
Поскольку я не вижу этот ответ здесь я выложу его ...
Лучший способ удаления дубликатов при объединении двух списков вместе 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 имеет встроенный способ сделать это.
Я использую этот вар песни1 = новый список { новый TST {Id = 1, Val = "а"}, новый TST {Id = 2, Val = "б"}, новый TST {Id = 3, Val = "c"}, новый tst {Id = 4, Val = "d"} }; var list2 = new Список {new tst {Id = 3, Val = "c"}, новый tst {Id = 4, Val = "d"}, новый tst {Id = 5, Val = "e" }}; –