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

Messages postés
9
Date d'inscription
jeudi 25 septembre 2008
Dernière intervention
15 janvier 2010
- 18 sept. 2009 à 12:32 - Dernière réponse :
Messages postés
735
Date d'inscription
jeudi 19 décembre 2002
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 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
735
Date d'inscription
jeudi 19 décembre 2002
Dernière intervention
22 novembre 2016
18 sept. 2009 à 13:00
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.

Merci elguevel 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de elguevel
Messages postés
735
Date d'inscription
jeudi 19 décembre 2002
Dernière intervention
22 novembre 2016
18 sept. 2009 à 13:04
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
Dernière intervention
15 janvier 2010
18 sept. 2009 à 13:41
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
Dernière intervention
22 novembre 2016
18 sept. 2009 à 13:50
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

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.