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中同时查找副本和原始副本?_C#_Linq_List_Duplicates - Fatal编程技术网

C# 如何在C列表LINQ中同时查找副本和原始副本?

C# 如何在C列表LINQ中同时查找副本和原始副本?,c#,linq,list,duplicates,C#,Linq,List,Duplicates,我阅读了关于在C中查找列表类型字符串中的重复项的几乎所有答案,但我还没有找到真正需要的解决方案 假设我有一份清单: 列表=新列表{6,1,2,4,6,5,1,2,1,2} 我要检索的是新列表中的重复值及其原始值,因此生成的列表如下所示: 列表duplist={6,6,1,1,1,2,2} 我想到的第一个方法是: List<String> duplist = list .GroupBy(str => str) .Where(g=> g.Count() !=

我阅读了关于在C中查找列表类型字符串中的重复项的几乎所有答案,但我还没有找到真正需要的解决方案

假设我有一份清单:

列表=新列表{6,1,2,4,6,5,1,2,1,2}

我要检索的是新列表中的重复值及其原始值,因此生成的列表如下所示:


列表duplist={6,6,1,1,1,2,2}

我想到的第一个方法是:

List<String> duplist = list
    .GroupBy(str => str)
    .Where(g=> g.Count() != 1)
    .SelectMany(g => g)
    .ToList();
如果有人感兴趣,以下是查询语法:

var dups = from str in list
           group str by str into g
           where g.Count() != 1
           from str in g
           select str;

List<String> duplist = dups.ToList();

那个么问题在哪里呢?那个么你们写了什么代码来试图解决这个问题呢?试着分组,你们会得到你们想在发帖前搜索的东西…以及它们的原件你们是什么意思?结果集就是dupesI即将发布的相同内容,只是差异g.Count>1,你比我快到+1我也有相同的答案,但我使用了linq sql语法:@Grundy:我想这一切都归结为SelectMany。因此,我认为OP已经知道如何查找重复项,但不知道如何将所有重复项选择到新集合中。@Dennis_E您可以使用query将其添加为另一个变量syntax@Grundy:为此,我添加了查询语法。