Regarder autour de soi et utiliser du C
Je dois souvent trier un dictionnaire composé de clés
Utiliser :
using System.Linq.Enumerable;
...
List<KeyValuePair<string, string>> myList = aDictionary.ToList();
myList.Sort(
delegate(KeyValuePair<string, string> pair1,
KeyValuePair<string, string> pair2)
{
return pair1.Value.CompareTo(pair2.Value);
}
);
Puisque vous ciblez .NET 2.0 ou supérieur, vous pouvez le simplifier en syntaxe lambda -- c'est équivalent, mais plus court. Si vous ciblez .NET 2.0, vous ne pouvez utiliser cette syntaxe que si vous utilisez le compilateur de Visual
De toute façon, vous ne pourrez jamais trier un dictionnaire. Ils ne sont pas réellement commandés. Les garanties d'un dictionnaire sont que les collections de clés et de valeurs sont itérables et que les valeurs peuvent être récupérées par index ou clé, mais il n'y a aucune garantie d'ordre particulier. Par conséquent, vous devrez obtenir la paire nom-valeur dans une liste.