合并列表并返回重复项

4

假设我有两个列表:

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

我希望将这两个列表合并,并返回另一个仅包含两个列表中重复项的列表。
例如,如果我有以下两个列表:
//pseudocode
foo={"baz","lemons","somethingelse"}
bar={"what","another","baz","somethingelse","kitten"}

我希望它返回一个新的列表:
//pseudocode
dupes={"baz","somethingelse"}

我认为使用LINQ将是最好的选择。然而,由于我的LINQ经验不足,我还没有完全弄清楚。

3个回答

17

交集是你想要的,它是LINQ的一部分。

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

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


3
您想要两个集合的“交集”。
dupes = foo.Intersect(bar);

1

使用交集:

var res = lst1.Intersect(lst2);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接