Gestion des index For Each / For i=0 To Max
Bonjour,
Après longues réflexions, je me sert dans un programme tantôt d'un "for each" tantôt d'un "for" classique.
La raison principale est que je dois mémoriser des positions de lignes.
Cas concret :
Code:
1 2 3 4 5 6
| 'Un dictionnaire :
Dim dicMonDictionnaire as new Dictionnary (of String, Integer)
Une datatable (issue d'un "select ... from")
Dim uneDataTable as DataTable
'un compteur
Dim intCounter as Integer=0 |
En fait je vais parcourir avec un for each les lignes de ma DataTable et stocker dans mon dictionnaire :
Key : valeur de champs
Value : Index de ligne de la DataTable
Un truc dans ce genre :
Code:
1 2 3 4
| For each dtLine as DataRow In uneDataTable.Rows
dicMonDictionnaire.Add(dtLine.Item("MonChamps").ToString, intCounter)
intCounter += 1
Next |
Est ce que je peux être certain que le parcours en "for each" traite les lignes dans l'ordre ?
Pour résumer mon prog', je souhaite faire un outils de synchronisation de base de donnée. Et je commence par "indexer" la/les clés primaires d'une table à l'aide d'un dictionnaire et je stocke les valeurs de clés primaires comme "String" dans mon dictionnaire, et la position de la ligne (dans la datable) où se situe cette clé primaire.
Est ce erroné ?
En théorie, je dirai oui, ça fonctionne en procédurale. Mais je ne voudrais pas avoir de mauvaise surprise par la suite.
Merci de votre aide.