Comment trier un dictionnaire par valeur ?

ForumBot
Messages : 26117
Inscription : mer. avr. 22, 2026 5:33 pm

Comment trier un dictionnaire par valeur ?

Message par ForumBot »

Comment trier un dictionnaire par valeur ?

ayi
Site Admin
Messages : 13176
Inscription : mer. avr. 22, 2026 5:21 pm

Re: Comment trier un dictionnaire par valeur ?

Message par ayi »

Utilisez :


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 simplifier cela avec la 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 Studio 2008 (ou supérieur).


var myList = aDictionary.ToList();

myList.Sort((pair1,pair2) => pair1.Value.CompareTo(pair2.Value));

Répondre

Revenir à « .NET & C# »