Bonjour
Je travaille sur un projet en VB.NET (sous .NET Framework 2.0), et j'ai un tableau associant une clé de type Integer, et une valeur de type Double :
Je dois trier le tableau par valeur en ordre décroissant, tout en gardant l'association clé => valeur, donc au final je devrais avoir quelque chose comme ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Key Value 1 4.666666666666667 2 7.333333333333333 3 5.333333333333333 4 3.3333333333333335 5 2.0 6 4.333333333333333 7 5.333333333333333 8 5.333333333333333 9 4.0 10 3.3333333333333335 11 6.0 12 4.0 13 5.0
Je stocke les données dans une List de KeyValuePair (j'hésite entre ça ou un Dictionary) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Key Value 2 7.333333333333333 11 6.0 3 5.333333333333333 7 5.333333333333333 8 5.333333333333333 13 5.0 1 4.666666666666667 6 4.333333333333333 9 4.0 12 4.0 4 3.3333333333333335 10 3.3333333333333335 5 2.0
Ensuite il faut que j'appelle la méthode Sort en définissant mon propre Comparer, j'ai essayé ce code trouvé sur stackoverflow :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Dim maListe As New List(Of KeyValuePair(Of Integer, Double))
Mais ça ne fonctionne pas, et a vrai dire ça ne m'étonne pas vraiment, ça ressemble à la nouvelle syntaxe, je ne sais pas si elle est compatible avec .NET 2.0.
Code : Sélectionner tout - Visualiser dans une fenêtre à part myList.Sort( (x,y) => x.Value.CompareTo(y.Value) )
Bref, je débute et c'est la galère, merci de votre aide.
Partager