Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 合并列表并仅返回重复项_C#_Linq_List_Merge_Duplicates - Fatal编程技术网

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);