Trouvé une chaine dans un listview

cs_aurel16 Messages postés 75 Date d'inscription samedi 17 septembre 2005 Statut Membre Dernière intervention 29 octobre 2010 - 9 juil. 2009 à 12:57
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 - 10 juil. 2009 à 10:55
Bonjour,

Après avoir appris le vb.net, je me lance au c#. J'ai créé une listview qui contient des données. Je voudrais savoir si le texte des items correspond à une certaine valeur. J'ai donc codé cela :

for (int x = 0; x <= Listview.Items.Count - 1; x++) {

if (Listview.Items[x].Text.ToString == "voiture") {
this.Text = "trouvé";

}

Cependant, le code ne fonctionne pas. Pouvez vous m'aider ? merci

2 réponses

cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
9 juil. 2009 à 18:03
Bonjour,
En C#, les fonctions prennent des parenthèses. Il faut donc écrire:
if(.... .Text.ToString() == ...)

De plus, la méthode ToString() est ici superflue car Text est déjà de type string.

<hr />
-Blog-
-Site Perso-
0
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
10 juil. 2009 à 10:55
Salut

J'ajouterai également que non seulement les fonctions nécessitent des parenthèses, mais les procédures aussi (je crois que ce n'est pas le cas en VB, d'où ma remarque).

Autre petite remarque, lorsque tu utilises un for sur tous les éléments, je te conseille plutôt de faire comme ça :
for (int i = 0; i < nb; i++)
plutôt que
for (int i = 0; i <= nb - 1; i++)
Même si ça revient exactement au même, lorsqu'on lit le code, dans le premier cas on voit tt de suite que tu boucles sur les nb éléments, dans l'autre on se demande s'il ne t'en manque pas un.
Tu peux aussi te renseigner sur la boucle foreach.

Krimog : while (!(succeed = try())) ;
- NON, "LE BAR" n'est PAS un langage de programmation ! -
0
Rejoignez-nous