Récupérer index d'un element d'une collection [Résolu]

Messages postés
9
Date d'inscription
jeudi 25 septembre 2008
Statut
Membre
Dernière intervention
15 janvier 2010
- - Dernière réponse : elguevel
Messages postés
735
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
22 novembre 2016
- 18 sept. 2009 à 13:50
Bonjour,

j'aimerai savoir comment récupérer l'index d'un élément d'une collection contenant une certaine chaine de caractère.

Merci
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
735
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
22 novembre 2016
3
1
Merci
Il faut parcourir ta collection à la recherche de l'element que tu recherches ...

Exemple avec une collection que j'ai appelé Liste, et on va dire que tu recherche la chaine "Toto".

Dim Index As Integer = -1
For Each Element As String In Liste
  If (Element.Equals("Toto")) Then
    Index = Liste.IndexOf(Element)
    Exit For
   End If
Next


L'index de l'element "Toto" dans ta collection de chaine sera placé dans 'Index'. Après avec çà tu peux faire une fonction je pense.

Dire « Merci » 1

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

Codes Sources 194 internautes nous ont dit merci ce mois-ci

Commenter la réponse de elguevel
Messages postés
735
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
22 novembre 2016
3
0
Merci
En faite pour cet exemple, il suffit que tu fasses : Liste.indexOf("Toto"), car la je suis partie d'une liste de chaine [ListOf(String)] mais si tu as une collection plus complexe, il faut utiliser la méthode decrite ci-dessus.

Ca depend après du type de collection que tu possèdes !?
Commenter la réponse de elguevel
Messages postés
9
Date d'inscription
jeudi 25 septembre 2008
Statut
Membre
Dernière intervention
15 janvier 2010
0
Merci
En fait voici mon code :

For Each i As String In My.Settings.TaillesColonesArticle2
If My.Settings.TaillesColonesArticle2.Contains(nomcolonne & "_*") Then
'index = ?????
End If
Next

Voila, j'aimerai que index soit égal à l"index de l'élement I.

C'est une collection de string
Si je met
index = My.Settings.TaillesColonesArticle2.IndexOf(i)


Je récupére la valeur de l'élément et non le numéro de l'index non?
Commenter la réponse de cs_clemse31
Messages postés
735
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
22 novembre 2016
3
0
Merci
IndexOf permet de recupérer l'index de la collection (donc la position de ton element dans la liste) et non la valeur !

Donc c'est ce qu'il te faut ... non ?
Commenter la réponse de elguevel