Mam dwie listy lista1 i lista2Concat dwa listy za pomocą LINQ
List1 zawiera
1 a
2 b
3 c
4 d
Lista2 zawiera
3 c
4 d
5 e
I chcą poniższej listy przy użyciu LINQ
1 a
2 b
3 c
4 d
5 e
Mam dwie listy lista1 i lista2Concat dwa listy za pomocą LINQ
List1 zawiera
1 a
2 b
3 c
4 d
Lista2 zawiera
3 c
4 d
5 e
I chcą poniższej listy przy użyciu LINQ
1 a
2 b
3 c
4 d
5 e
List1.Concat(List2.Where(l2 => !List1.Contains(l2))).ToList()
skąd l1 pochodzi. Zła odpowiedź –
Przepraszam, że był to błąd literowy, patrz edytuj – 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));
tekst wyjaśniający, że nie zaszkodzi ..... – Jaap
Ponieważ nie widzę tę odpowiedź tutaj wyślę go ...
Najlepszym sposobem, aby usunąć duplikaty podczas łączenia dwóch list razem jest 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();
Reszta odpowiedzi działa, ale Linq ma wbudowany sposób, aby to zrobić.
ja pomocą tego var lista1 = nową listę { nowy TST {J = 1, Val = "A"} nowy TST {J = 2, Val = "b"} nowy TST {Id = 3, Val = "c"}, new tst {Id = 4, Val = "d"} }; var list2 = nowa lista {nowa tst {Id = 3, Val = "c"}, nowa tst {Id = 4, Val = "d"}, nowa tst {Id = 5, Val = "e" }}; –