Sortiertes Wörterbuch umgekehrt?

8

Ich habe eine SortedDictionary wie folgt definiert:

%Vor%

Aber ich möchte das Diktat in umgekehrter Reihenfolge beibehalten. Ich nehme an, dass ich Comparer einstellen muss, aber welchen Vergleich verwende ich für eine generische TPriority ? Beachten Sie, dass TPriority implementiert IComparable .

    
mpen 06.05.2010, 21:24
quelle

3 Antworten

16

Sie können ganz einfach einen umgekehrten Vergleicher erstellen:

%Vor%

Übergeben Sie das nun in den Konstruktor für das Wörterbuch:

%Vor%     
Marc Gravell 06.05.2010, 21:28
quelle
1

Wenn Sie LINQ verwenden können, tun Sie einfach:

%Vor%

Dies ergibt die Schlüssel der Sammlung in umgekehrter Reihenfolge.

BEARBEITEN: Der Klasse SortedDictionary wird ein IComparer<T> zugewiesen, wenn sie erstellt wird, und dies kann nicht nachträglich geändert werden. Sie können jedoch ein neues SortedDictionary<T> aus dem Original erstellen:

%Vor%     
LBushkin 06.05.2010 21:25
quelle
1

Ich habe es am Ende meiner Klasse hinzugefügt, da es am kürzesten und einfachsten ist:

%Vor%

Und dann initialisiere die dict so:

%Vor%     
mpen 06.05.2010 21:52
quelle

Tags und Links