Powiedz, że mam dwie listy:
List<string>foo=new List<string>();
List<string>bar=new List<string>();
Chcę scalić te dwie listy i zwrócić kolejną listę zawierającą tylko duplikaty w obu.
Więc jeśli mam:
//pseudocode
foo={"baz","lemons","somethingelse"}
bar={"what","another","baz","somethingelse","kitten"}
Chcę, żeby zwrócił nową listę:
//pseudocode
dupes={"baz","somethingelse"}
Myślę, że użycie LINQ będzie najlepszym strzałem. Jednak nie do końca doszedłem do wniosku, że skoro mam słabe doświadczenie w LINQ.
Odpowiedzi:
17 dla odpowiedzi nr 1Intersect
to, czego chcesz, jest częścią LINQ.
dupes = foo.Intersect(bar).ToList();
Upewnij się, że masz System.Linq
przestrzeń nazw, do której odwołuje się plik.
3 dla odpowiedzi № 2
Chcesz „przeciąć” dwa zestawy.
dupes = foo.Intersect(bar);
1 dla odpowiedzi nr 3
Użyj skrzyżowania:
var res = lst1.Intersect(lst2);