【问题标题】:Find repetitive in list [duplicate]在列表中查找重复项[重复]
【发布时间】:2013-02-21 15:58:42
【问题描述】:

我有一个与下面相同的人名单:

List<Person> Persons=New List<Person>

Person 类包含一些属性,例如 Id,Firstname,LastName,Age,... 在这个列表中存在一些具有相同名字和姓氏的重复对象

如何识别和找到重复的对象 ID?

【问题讨论】:

  • 你的意思是 firstname = lastname) 还是 (firstname = firstname and lastname = lastnam)?
  • 名 = 名和姓 = 姓
  • 希望您从提供的链接中得到答案

标签: linq list duplicates


【解决方案1】:

来自Eric White's blog

int[] listOfItems = new[] { 4, 2, 3, 1, 6, 4, 3 };
var duplicates = listOfItems
    .GroupBy(i => i)
    .Where(g => g.Count() > 1)
    .Select(g => g.Key);
foreach (var d in duplicates)
    Console.WriteLine(d);

【讨论】:

  • 我想准确地找到我在列表中的重复对象位置!不按结果分组。
【解决方案2】:

如果我没记错的话,如果这是你所追求的,这应该会创建一个唯一的列表:

List<String> list2 = new ArrayList<String>(new HashSet<String>(list1));

【讨论】: