根据特定成员值在列表中查找重复项

agh*_*aux 1 c# linq

如何根据特定值在列表中查找重复项目并将重复项目组合在一起?

如果我的项目具有相同的电子邮件地址,我希望将它们作为重复项收集,因为我在集合中使用电子邮件地址作为"主键".并非所有值都在这些项目中相同.

例如:

var numberOfTestcasesWithDuplicates = 
                                 Customers.GroupBy(x => x.emailaddress).ToList();
Run Code Online (Sandbox Code Playgroud)

会给我一个重复项目的集合,但后来我想将重复的项目收集到分组集合中,我可以管理这些项目并查看哪些项目是重复的?

谢谢

xan*_*tos 6

也许您只想要拥有多个项目的组?

var numberOfTestcasesWithDuplicates = Customers.GroupBy(x => x.emailaddress)
                                               .Where(x => x.Count() > 1)
                                               .ToList();
Run Code Online (Sandbox Code Playgroud)

.Where(p => p.Count() > 1)将检查多少项目组成的组.