W języku C#, mam typ obiektu "A", który zawiera listę par wartości klucza.Tworzenie listy różnych w C#
Pary wartości klucza to ciąg kategorii i ciąg wartości.
Aby instancję typu Object, musiałbym wykonać następujące czynności:
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);
końcu będę mieć listę A typów obiektów i chcę manipulować listę tak, że mogę dostać tylko unikatowe wartości i opieram go tylko na nazwie kraju. Dlatego chcę, aby lista była ograniczona do jednego "kraju", "USA", nawet jeśli pojawia się więcej niż raz.
Szukałem w Linq Distinct, ale nie robi to, co chcę, ponieważ nie mogę zdefiniować żadnych parametrów i ponieważ nie wydaje się być w stanie złapać dwa równoważne obiekty typu A. Wiem że mogę przesłonić metodę "Equals", ale nadal nie rozwiązuje ona mojego problemu, który polega na uczynieniu listy odrębnej na podstawie JEDNEJ z par wartości klucza.
Czy widzimy konstruktora 'A'? –
Użyj GroupBy zamiast ... –
Jeśli masz wiele "Kraj", ale z różnymi wartościami, czy to dozwolone? –