说我有两个清单:
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经验很差。
答案 0 :(得分:17)
Intersect
是你想要的,它是LINQ的一部分。
dupes = foo.Intersect(bar).ToList();
确保您的文件中引用了System.Linq
命名空间。
答案 1 :(得分:3)
你想要两组的“相交”。
dupes = foo.Intersect(bar);
答案 2 :(得分:1)
使用交集:
var res = lst1.Intersect(lst2);