4

2 つのリストがあるとします。

List<string>foo=new List<string>();
List<string>bar=new List<string>();

これら 2 つのリストをマージし、両方の重複のみを含む別のリストを返したいと考えています。
だから私が持っている場合:

//pseudocode
foo={"baz","lemons","somethingelse"}
bar={"what","another","baz","somethingelse","kitten"}

新しいリストを返したい:

//pseudocode
dupes={"baz","somethingelse"}

LINQ を使用するのがベストショットになると思います。しかし、私は LINQ の経験が乏しいので、それについてはよくわかりませんでした。

4

3 に答える 3

17

IntersectLINQの一部であるあなたが望むものです。

dupes = foo.Intersect(bar).ToList();

System.Linqファイルで名前空間が参照されていることを確認してください。

于 2012-12-12T20:51:33.483 に答える
3

2 つのセットの「交差」が必要です。

dupes = foo.Intersect(bar);
于 2012-12-12T20:51:52.070 に答える
1

交差を使用:

var res = lst1.Intersect(lst2);
于 2012-12-12T20:52:58.330 に答える