Accès à une valeur d'un objet Dictionary sans connaitre la Clef

blq
Messages postés
97
Date d'inscription
vendredi 22 octobre 1999
Statut
Membre
Dernière intervention
13 juin 2016
- 3 août 2010 à 12:13
blq
Messages postés
97
Date d'inscription
vendredi 22 octobre 1999
Statut
Membre
Dernière intervention
13 juin 2016
- 6 août 2010 à 14:03
Sans doute une question de débutant que je suis : je déclare une liste de type Dictionary(Of String, String).

Si je connais la clef (Of String) pas de souci pour y accéder, par contre si je souhaite accéder au premier élément ou cinquième ou au dernier comment fait-on ?

Dim theList as Dictionary(Of String, String)

theList.add("toto", "info sur toto")
theList.add("titi", "info sur titi")

theList.item(1).ToString n'est pas autorisé ou même theList.item(Cstr(1)).ToString car 1 n'est pas une clef même en String.

Je note que j'ai besoin de la Clef. Je ne souhaite pas créer une List classique

Merci de votre aide.

2 réponses

Mayzz
Messages postés
2813
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
30
3 août 2010 à 12:22
Salut,

Essaye :

theList.Values(X) pour récupérer les valeurs selon leurs index et
theList.Keys(X) pour les clés, X étant l'index bien entendu.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
blq
Messages postés
97
Date d'inscription
vendredi 22 octobre 1999
Statut
Membre
Dernière intervention
13 juin 2016
1
6 août 2010 à 14:03
theList.Values(X) ne fonctionne pas si X n'est pas une clef. Hors c'est bien mon besoin.

mais, j'ai trouvé la solution pour parcourir la liste sans connaitre les clefs :

theEnumerator = theList.Values.GetEnumerator
If theEnumerator.MoveNext() = true Then
theString = theEnumerator.Current.ToString
End If


L'appel a moveNext permet de parcourir la liste Dictionary sans connaitre les clefs. Mon petit exemple est basique, mais dans une boucle For Each, il est possible d'accèder à chaque item.
0