Próbuję usunąć duplikaty elementu z dolnej części ogólnej listy. Mam klasy zdefiniowane jak poniżejUsuwanie duplikatów z dołu listy ogólnej
public class Identifier
{
public string Name { get; set; }
}
I zdefiniowano innej klasy, która implementuje IEqualityComparer usunąć duplikaty z listy
public class DistinctIdentifierComparer : IEqualityComparer<Identifier>
{
public bool Equals(Identifier x, Identifier y)
{
return x.Name == y.Name;
}
public int GetHashCode(Identifier obj)
{
return obj.Name.GetHashCode();
}
}
Jednak staram się usunąć stare przedmioty i zachować ostatni. Na przykład, jeśli mam listę identyfikator zdefiniowany jako poniżej
Identifier idn1 = new Identifier { Name = "X" };
Identifier idn2 = new Identifier { Name = "Y" };
Identifier idn3 = new Identifier { Name = "Z" };
Identifier idn4 = new Identifier { Name = "X" };
Identifier idn5 = new Identifier { Name = "P" };
Identifier idn6 = new Identifier { Name = "X" };
List<Identifier> list = new List<Identifier>();
list.Add(idn1);
list.Add(idn2);
list.Add(idn3);
list.Add(idn4);
list.Add(idn5);
list.Add(idn6);
I wdrożyliśmy
var res = list.Distinct(new DistinctIdentifierComparer());
Jak mogę upewnić się, stosując odrębne że jestem utrzymując idn6 i usuwanie idn1 i idn4?
Dzięki, to działa dobrze –