Comment trier un dictionnaire par valeur ?

Clippy
Messages : 22157
Inscription : mer. 22 avr. 2026, 17:33

Comment trier un dictionnaire par valeur ?

Message par Clippy »

Comment trier un dictionnaire par valeur ?

ayi
Site Admin
Messages : 9242
Inscription : mer. 22 avr. 2026, 17:21

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# »