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 :
En fait je vais parcourir avec un for each les lignes de ma DataTable et stocker dans mon dictionnaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Key : valeur de champs
Value : Index de ligne de la DataTable
Un truc dans ce genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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.
Partager