przy użyciu C# 3 i .NET Framework 3.5, mam obiekt Personznaleźć duplikaty danych obiektu w Lista obiektów
public Person
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public int SSN { get; set; }
}
i mam ich wykaz:
List<Person> persons = GetPersons();
Jak czy mogę uzyskać wszystkie obiekty Person w osobach, w których SSN nie jest unikalny na liście i usunąć je z listy osób i idealnie dodać je do innej listy o nazwie "List<Person> dupes
"?
Oryginalny lista może wyglądać tak:
persons = new List<Person>();
persons.Add(new Person { Id = 1,
FirstName = "Chris",
LastName="Columbus",
SSN=111223333 }); // Is a dupe
persons.Add(new Person { Id = 1,
FirstName = "E.E.",
LastName="Cummings",
SSN=987654321 });
persons.Add(new Person { Id = 1,
FirstName = "John",
LastName="Steinbeck",
SSN=111223333 }); // Is a dupe
persons.Add(new Person { Id = 1,
FirstName = "Yogi",
LastName="Berra",
SSN=123456789 });
A wynik końcowy miałby Cummings i Berra w wykazie osób i oryginalne miałoby Columbus i Steinbeck w wykazie o nazwie duplikaty.
Wielkie dzięki!
Twoje rozwiązanie było blisko. Wiersz 'duplicated = persons.FindAll (duplikatSSN.Contains (p => p.SSN);' nie działał.Zobacz moją odpowiedź, aby zobaczyć, co poprawiłem, aby uzyskać odpowiedź. –