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

Duke49 553 Messages postés jeudi 12 octobre 2006Date d'inscription 6 juin 2015 Dernière intervention - 7 déc. 2010 à 22:19 - Dernière réponse : Duke49 553 Messages postés jeudi 12 octobre 2006Date d'inscription 6 juin 2015 Dernière intervention
- 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
NHenry 14278 Messages postés vendredi 14 mars 2003Date d'inscription 21 octobre 2018 Dernière intervention - 7 déc. 2010 à 23:14
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

Merci NHenry 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de NHenry
Duke49 553 Messages postés jeudi 12 octobre 2006Date d'inscription 6 juin 2015 Dernière intervention - 7 déc. 2010 à 22:37
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
nhervagault 6069 Messages postés dimanche 13 avril 2003Date d'inscription 15 juillet 2011 Dernière intervention - 8 déc. 2010 à 00:13
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
Duke49 553 Messages postés jeudi 12 octobre 2006Date d'inscription 6 juin 2015 Dernière intervention - 8 déc. 2010 à 11:09
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.