C# 如何在C列表LINQ中同时查找副本和原始副本?
我阅读了关于在C中查找列表类型字符串中的重复项的几乎所有答案,但我还没有找到真正需要的解决方案 假设我有一份清单: 列表=新列表{6,1,2,4,6,5,1,2,1,2} 我要检索的是新列表中的重复值及其原始值,因此生成的列表如下所示: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() !=
列表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:为此,我添加了查询语法。