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

Messages postés
97
Date d'inscription
vendredi 22 octobre 1999
Statut
Membre
Dernière intervention
13 juin 2016
- - Dernière réponse : 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.
Afficher la suite 

2 réponses

Messages postés
2811
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
26 novembre 2013
22
0
Merci
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.
Commenter la réponse de Mayzz
Messages postés
97
Date d'inscription
vendredi 22 octobre 1999
Statut
Membre
Dernière intervention
13 juin 2016
1
0
Merci
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.
Commenter la réponse de blq