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

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

Répondre au sujet
elguevel 735 Messages postés jeudi 19 décembre 2002Date d'inscription 22 novembre 2016 Dernière intervention - 18 sept. 2009 à 13:00
+1
Utile
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.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de elguevel
elguevel 735 Messages postés jeudi 19 décembre 2002Date d'inscription 22 novembre 2016 Dernière intervention - 18 sept. 2009 à 13:04
0
Utile
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
cs_clemse31 9 Messages postés jeudi 25 septembre 2008Date d'inscription 15 janvier 2010 Dernière intervention - 18 sept. 2009 à 13:41
0
Utile
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
elguevel 735 Messages postés jeudi 19 décembre 2002Date d'inscription 22 novembre 2016 Dernière intervention - 18 sept. 2009 à 13:50
0
Utile
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.