ho due lista Lista1 e Lista2Concat della lista di secondo utilizzando LINQ
List1 contiene
1 a
2 b
3 c
4 d
Lista2 contiene l'elenco
3 c
4 d
5 e
io voglio seguente utilizzando LINQ
1 a
2 b
3 c
4 d
5 e
ho due lista Lista1 e Lista2Concat della lista di secondo utilizzando LINQ
List1 contiene
1 a
2 b
3 c
4 d
Lista2 contiene l'elenco
3 c
4 d
5 e
io voglio seguente utilizzando LINQ
1 a
2 b
3 c
4 d
5 e
List1.Concat(List2.Where(l2 => !List1.Contains(l2))).ToList()
da dove arriva l1. Risposta errata –
Scusa che era un refuso, vedi modifica – 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));
del testo per spiegare le cose non farebbe male ..... – Jaap
Dato che io non vedo questa risposta qui i post-it ...
Il modo migliore per rimuovere i duplicati, mentre la fusione due liste insieme è 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();
Il resto delle risposte funziona, ma Linq ha un modo integrato per farlo.
Sto usando questo var list1 = new List { nuovo tst {Id = 1, Val = "a"}, nuova tst {Id = 2, Val = "b"}, nuova tst {Id = 3, Val = "c"}, new tst {Id = 4, Val = "d"} }; var list2 = nuovo Elenco {new tst {Id = 3, Val = "c"}, nuovo tst {Id = 4, Val = "d"}, nuovo tst {Id = 5, Val = "e" }}; –