In C# habe ich einen Objekttyp 'A', der eine Liste der Schlüsselwertpaare enthält.Erstellen einer Liste in C#
Die Schlüsselwertpaare sind eine Kategorie- und eine Werteschlange.
Um Objekttyp A zu instanziiert, würde ich folgendes tun:
List<KeyValuePair> keyValuePairs = new List<KeyValuePair>();
keyValuePairs.Add(new KeyValuePair<"Country", "U.S.A">());
keyValuePairs.Add(new KeyValuePair<"Name", "Mo">());
keyValuePairs.Add(new KeyValuePair<"Age", "33">());
A a = new A(keyValuePairs);
Schließlich habe ich eine Liste von A-Objekttypen haben und ich möchte die Liste bearbeiten, so dass ich nur eindeutige Werte erhalten und ich basiere es nur auf den Ländernamen. Deshalb möchte ich, dass die Liste auf nur ein "Land", "USA" reduziert wird, auch wenn es mehr als einmal erscheint.
Ich suchte in der Linq Distinct, aber es tut nicht, was ich will, weil es ich keine Parameter definieren kann und weil es nicht in der Lage, zwei gleichwertige Objekte des Typs A zu fangen scheint. Ich weiß dass ich die "Equals" -Methode überschreiben kann, aber es löst immer noch nicht mein Problem, das darin besteht, die Liste basierend auf EINEM der Schlüsselwertpaare zu unterscheiden.
Können wir den 'A' Konstruktor sehen? –
Verwenden GroupBy stattdessen ... –
Wenn Sie mehrere "Land" aber mit unterschiedlichen Werten haben, ist das erlaubt? –