Bonjour, j'ai créé un SortedDictionary (SD)
Je voudrai que l'ordre de tri ne soit pas "A1, A10, A2, B1, B10, ..." mais plutot "E1, E2, ..., E10, E11,..., A1, A2 ...".
Code : Sélectionner tout - Visualiser dans une fenêtre à part Friend Variables AsNew SortedDictionary(OfString, DonneesVariable)
Pour vous expliquer l'origine de mon problème, au début j'utilisais un Dictionary dont l'ordre de création des clefs était bien: "E1, E2, ..., E10, E11,..., A1, A2 ...".
Ce qui fait que quand je l'utilisais, j'avais bien mes données (de type DonneesVariable qui est une structure à moi) dans l'ordre voulu lors du parcour de la collection par un For Each.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 PrivateSub InitialiseVariables() Dim MesTypeDonnee() AsString = {"E", "E", "EA", "EN", "EN", "A", "SA", "SN", "B", "R", "M", "V", "T", "C", "N"} Dim MonComptDepart() AsInteger = {0, 2000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0} Dim MonComptFin() AsInteger = {1023, 3023, 1020, 1008, 3008, 1023, 1020, 1008, 1023, 1023, 13823, 2046, 95, 95, 15} Dim MonComptStep() AsInteger = {1, 1, 4, 16, 16, 1, 4, 16, 1, 1, 1, 1, 1, 1, 1} Dim i, j AsInteger For j = 0 To 14 For i = MonComptDepart(j) To MonComptFin(j) Step MonComptStep(j) Variables.Add(MesTypeDonnee(j) & i, New DonneesVariable("", "", False, False, "", "", "")) Next i Next j EndSub
Il s'avère que, contrairement à ce que je pensais, je suis obliger de créer quelques clefs supplémentaires après l'initialisation de mon Dictionary
, et évidement ces clefs (qui sont alors créées en "fin" de dictionary) devraient se tourver au milieu de clefs déjà existantes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 MonAdresse = MonStreamReader.ReadLine IfNot Variables.ContainsKey(MonAdresse) Then Variables.Add(MonAdresse, New DonneesVariable("", "", False, False, "", "", "")) EndIf
Je m'oriente donc vers un SD, mais ce n'est pas l'ordre alphabétique qui m'intéresse.
Quelqu'un peut-il m'aider?
Ce n'est pas parce que l'on allume la bougie de quelqu'un avec sa lanterne que l'on se prive de lumière.
![]()
![]()
Partager