Comment utiliser une boucle FOR avec un Dictionary ? [Résolu]

Messages postés
553
Date d'inscription
jeudi 12 octobre 2006
Dernière intervention
6 juin 2015
- - Dernière réponse : Duke49
Messages postés
553
Date d'inscription
jeudi 12 octobre 2006
Dernière intervention
6 juin 2015
- 8 déc. 2010 à 11:09
Bonjour,

Je n'arrive pas a boucler avec FOR sur mon Dictionary.
Mon Dictionnary c'est KEY As String et VALUE as String()...

Comment faire la liaison entre i et UserMethodes ?
Une "Boucle par Index" pour transmettre chaque KEY/VALUE à Test2 ?

Exemple du problème:
'UserMethodes =
'(A) (12345)
'(B) (6789) 
'...
Shared UserMethodes As New Dictionary(Of String, String())

Shared Sub Test1()
     Dim i As Integer
     For i = 0 To (UserMethodes.Count - 1)
          'Je sèche !
          'L'idéale pour moi:  UserMethodes.Item(i)
          'qui retourne en index 0   (A)(12345)  à Test2()
          Test2(UserMethodes.ElementAt(i)????)
     Next
End Sub

Shared Sub Test2(ByVal CurrentMethode As Dictionary ?)
  'objectif: lire 12345
  'Si i = 0
   CurrentMethode(?, 0) = 1
   CurrentMethode(?, 1) = 2
  'objectif: lire 6789
  'Si i = 1
   CurrentMethode(?, 0) = 6
   CurrentMethode(?, 1) = 7
End Sub
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
14321
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
13 décembre 2018
3
Merci
Bonjour,

Shared UserMethodes As New Dictionary(Of String, String())

...

For Each lPair as KeyValuePair(Of String, String()) In UserMethodes
...
Next

Sinon, à voir si c'est possible :

For i as Integer=0 to UserMethodes.Count-1
UserMethodes.Keys(i)
UserMethodes.Values(i)
Next

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Commenter la réponse de NHenry
Messages postés
553
Date d'inscription
jeudi 12 octobre 2006
Dernière intervention
6 juin 2015
0
Merci
Je stop pour today, dernier test en cours (fonctionne pas):

Erreur 1 Impossible de convertir une valeur de type 'System.Collections.Generic.Dictionary(Of String, String()).Enumerator' en 'System.Collections.Generic.IDictionary(Of String, String())'.


     Dim CurrentDic As IDictionary(Of String, String())

     For i = 0 To (clsExtract.UserMethodes.Count - 1)
          CurrentDic = clsExtract.UserMethodes.GetEnumerator
          ...
Commenter la réponse de Duke49
Messages postés
6069
Date d'inscription
dimanche 13 avril 2003
Dernière intervention
15 juillet 2011
0
Merci
Expliques mieux ce que tu veux car la
c'est un peu flou.

Tu utilises peut être les mauvaises structures ou classes ou collection
pour réaliser ce te veux

expliques avec un exemple sans code
et un code avec un contexte fonctionnel serait peut etre bien
Commenter la réponse de nhervagault
Messages postés
553
Date d'inscription
jeudi 12 octobre 2006
Dernière intervention
6 juin 2015
0
Merci
KeyValuePair transmet parfaitement l'occurrence du Dictionary en cours a Test2(). Merci HENRY !!!


nhervagault, je fais de mon mieux pour essayer de me faire comprendre.
Je suis prêt à accepter toutes critiques afin de parler un langage .NET universel ^^
Mes exemples cible un problème dans une forme simple, si je colle mon code en brute, personne n'aurait envie de m'aider !
En concentrant votre précieuse aide sur des bouts d'exemples, je parfait les ensembles bordélique de mon code en espérant être un jour capable de partager mes connaissances en .NET sur vbfrance avec un code qui sonnerait comme de la poésie ^^
Commenter la réponse de Duke49

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.