C# 合并列表并仅返回重复项
假设我有两张清单:C# 合并列表并仅返回重复项,c#,linq,list,merge,duplicates,C#,Linq,List,Merge,Duplicates,假设我有两张清单: List<string>foo=new List<string>(); List<string>bar=new List<string>(); 我希望它返回一个新列表: //pseudocode dupes={"baz","somethingelse"} 我认为使用LINQ将是最好的选择。然而,我还没有完全明白这一点,因为我的LINQ经验很差。Intersect是您想要的,它是LINQ的一部分 dupes = foo.Int
List<string>foo=new List<string>();
List<string>bar=new List<string>();
我希望它返回一个新列表:
//pseudocode
dupes={"baz","somethingelse"}
我认为使用LINQ将是最好的选择。然而,我还没有完全明白这一点,因为我的LINQ经验很差。
Intersect
是您想要的,它是LINQ的一部分
dupes = foo.Intersect(bar).ToList();
确保文件中引用了System.Linq
名称空间。您需要两个集合的“交集”
dupes = foo.Intersect(bar);
使用交叉口:
var res = lst1.Intersect(lst2);
var res = lst1.Intersect(lst2);