Si vous pouvez utiliser LINQ, vous pouvez simplement faire:
dict.Keys.Reverse();
Cela donne les clés de la collection dans l'ordre inverse.
EDIT: La classe SortedDictionary
est affectée d'un IComparer<T>
lors de sa construction et ne peut pas être modifiée après coup. Cependant, vous pouvez créer une nouvelle SortedDictionary<T>
de l'original:
class ReverseComparer<T> : IComparer<T> {
private readonly m_InnerComparer = new Comparer<T>.Default;
public ReverseComparer(IComparer<T> inner) {
m_InnerComparer = inner; }
public int Compare(T first, T second) {
return -m_InnerComparer.Compare(first, second); }
}
var reverseDict = new SortedDictionary<TPriority, Queue<TValue>>(dict,
new ReverseComparer(Comparer<TPriority>.Default));
double possible de [inverse Classé dans le dictionnaire .NET] (http://stackoverflow.com/questions/931891/reverse-sorted-dictionary-in -net) – nawfal