Ich versuche, Duplikate aus dem unteren Bereich der generischen Liste zu entfernen. Ich habe Klasse definiert, wie untenEntfernen von Duplikaten am Ende der Generischen Liste
public class Identifier
{
public string Name { get; set; }
}
Und ich habe eine andere Klasse definiert, die IEqualityComparer die Duplikate aus Liste
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();
}
}
jedoch entfernen implementiert, Ich versuche, die alten Elemente und halten Sie die neuesten zu entfernen. Zum Beispiel, wenn ich Liste der Bezeichner wie folgt definiert
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);
Und ich habe
var res = list.Distinct(new DistinctIdentifierComparer());
implementiert Wie stelle ich sicher, dass durch unterschiedliche Verwendung, dass ich idn6 bin zu halten und idn1 und idn4 zu entfernen?
Danke, es funktioniert gut –