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

Signaler
Messages postés
97
Date d'inscription
vendredi 22 octobre 1999
Statut
Membre
Dernière intervention
13 juin 2016
-
Messages postés
97
Date d'inscription
vendredi 22 octobre 1999
Statut
Membre
Dernière intervention
13 juin 2016
-
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

Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
27
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.
Messages postés
97
Date d'inscription
vendredi 22 octobre 1999
Statut
Membre
Dernière intervention
13 juin 2016
1
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.