List(Of string).contains ignore case ? [Résolu]

Polack77 1100 Messages postés mercredi 22 mars 2006Date d'inscription 15 avril 2018 Dernière intervention - 7 sept. 2009 à 14:22 - Dernière réponse : Polack77 1100 Messages postés mercredi 22 mars 2006Date d'inscription 15 avril 2018 Dernière intervention
- 7 sept. 2009 à 16:07
Bonjour,

Tout est dans le titre :
Comment faire un "contains" sur un tableau de string en ignorant la case (je voudrais éviter si possible de re-construire mon tableau) ?

Je sait que cette question à déjà été posée (ici avec exactement le même titre) le problème est que je n'est rien compris à la réponse

Merci d'avance

Amicalement
1000 recherches sur Google = 1Km de voiture en CO² (réfuté par Google )
1000 recherches sur Forestle = 100 m² de forêt tropicale sauvé .
Surfez écolo
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Calade 1212 Messages postés dimanche 20 avril 2003Date d'inscription 4 juin 2016 Dernière intervention - 7 sept. 2009 à 15:04
3
Merci
Bonjour,

Je pense qu'il voulait simplement dire de faire une comparaison en castant tes 2 membres en ToUpper(), c.à.d les comparer comme si c'étaient des majuscules en les convertissant à la volée.


Calade

Merci Calade 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 74 internautes ce mois-ci

Commenter la réponse de Calade
Meilleure réponse
Charles Racaud 3181 Messages postés dimanche 15 février 2004Date d'inscription 9 avril 2017 Dernière intervention - 7 sept. 2009 à 15:48
3
Merci
Pourquoi refaire un tableau ?
Function Contains(ByVal Source() As String, ByVal Value As String) As Boolean
  Value = Value.ToLower()
  For Each Element As String In Source
    If Element.ToLower() = Value Then Return True
  Next
  Return False
End Function


(Oui un index de tableau est bien un Integer)


_____________
Kenji

Merci Charles Racaud 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 74 internautes ce mois-ci

Commenter la réponse de Charles Racaud
Charles Racaud 3181 Messages postés dimanche 15 février 2004Date d'inscription 9 avril 2017 Dernière intervention - 7 sept. 2009 à 15:31
0
Merci
Salut,

Que fait la fonction Contains ? Elle parcoure simplement le tableau à la recherche d'un élément.
Fait donc ta propre fonction Contains qui parcours tous les éléments du tableau sans respecter la casse (conversion en minuscule pour la comparaison)


_____________
Kenji
Commenter la réponse de Charles Racaud
Polack77 1100 Messages postés mercredi 22 mars 2006Date d'inscription 15 avril 2018 Dernière intervention - 7 sept. 2009 à 15:36
0
Merci
Re construire mon tableau donc
Sa quoi :
Dim MonTblUCase() as String
Dim Result as Boolean
ReDim MonTblUCase(MonTbl.Count - 1)
For Compteur As Int32 = 0 To MonTbl.Count - 1
    MonTblUCase(Compteur) = MonTbl(Compteur).ToUpper
Next
Result = MonTblUCase.contains(MaVal.ToUpper)
Erase MonTblUCase

(J'espérais, naïvement peut être, que sa ne serais qu'une solution temporaire)
Si quelqu'un sait comment faire autrement sa m'intéresse

Merci de ta réponse

(Heeeee au faite l'index max d'un tableau est bien un Int32 ?)

Amicalement
1000 recherches sur Google = 1Km de voiture en CO² (réfuté par Google )
1000 recherches sur Forestle = 100 m² de forêt tropicale sauvé .
Surfez écolo
Commenter la réponse de Polack77
Polack77 1100 Messages postés mercredi 22 mars 2006Date d'inscription 15 avril 2018 Dernière intervention - 7 sept. 2009 à 16:01
0
Merci
Merci à vous deux
En faite ma "vrais" fonction est ~ la même que toi Charles mais je fait des piti truc en plus (cette fonction est intégrer à une classe "connexion" et je veut tester l'existence de table(s) et vue(s) dans la base de donnée active, avec ou sans sensibilité à la case, non sensible par défaut, comme sa vous savez tout ^^) j'avais juste posté un exemple ici (par contre de toute façon si on ne veut pas que le tableau d'origine ne soit modifier, il faut en faire un copie. Et en "vrais" nos fonctions aussi re-crée un tableau en mémoire, dù au ByVal )

Amicalement
1000 recherches sur Google = 1Km de voiture en CO² (réfuté par Google )
1000 recherches sur Forestle = 100 m² de forêt tropicale sauvé .
Surfez écolo
Commenter la réponse de Polack77
Polack77 1100 Messages postés mercredi 22 mars 2006Date d'inscription 15 avril 2018 Dernière intervention - 7 sept. 2009 à 16:05
0
Merci
A la place de :
If Element.ToLower() = Value Then Return True

J'aurais fait :
If Element.ToLower() = Value.ToLower() Then Return True

Sa évite la ligne
Value = Value.ToLower()


Bonne prog

Amicalement
1000 recherches sur Google = 1Km de voiture en CO² (réfuté par Google )
1000 recherches sur Forestle = 100 m² de forêt tropicale sauvé .
Surfez écolo
Commenter la réponse de Polack77
Polack77 1100 Messages postés mercredi 22 mars 2006Date d'inscription 15 avril 2018 Dernière intervention - 7 sept. 2009 à 16:07
0
Merci
Houlala non je dit une GROSSE connerie la !
Si je fait sa j'exécute n fois le .ToLower()
Dzl ta fonction étais parfaite

Amicalement
1000 recherches sur Google = 1Km de voiture en CO² (réfuté par Google )
1000 recherches sur Forestle = 100 m² de forêt tropicale sauvé .
Surfez écolo
Commenter la réponse de Polack77

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.