在列表中查找重复项

时间:2013-03-06 17:53:10

标签: linq list duplicates

我有一个人员名单如下:

List<Person> Persons=New List<Person>

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

我如何识别并找到重复的对象Id?

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

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

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