合并列表并仅返回重复项

Сте*_*чев 4 c# linq merge list duplicates

说我有两个列表:

List<string>foo=new List<string>();
List<string>bar=new List<string>();
Run Code Online (Sandbox Code Playgroud)

我想合并这两个列表并返回另一个列表,只包含两个列表中的重复项.
所以,如果我有:

//pseudocode
foo={"baz","lemons","somethingelse"}
bar={"what","another","baz","somethingelse","kitten"}
Run Code Online (Sandbox Code Playgroud)

我希望它返回一个新列表:

//pseudocode
dupes={"baz","somethingelse"}
Run Code Online (Sandbox Code Playgroud)

我认为使用LINQ将是最好的镜头.但是,我还没有想到,因为我的LINQ经验很差.

Dan*_*ite 17

Intersect 是你想要的LINQ的一部分.

dupes = foo.Intersect(bar).ToList();
Run Code Online (Sandbox Code Playgroud)

确保您System.Linq的文件中引用了名称空间.