begin process at 2010 02 10 07:55:28
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Système

 > 

Autre

 > 

[débutant] IndexOf() ne fonctionne pas dans mon cas


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[débutant] IndexOf() ne fonctionne pas dans mon cas

jeudi 18 juin 2009 à 12:22:03 | [débutant] IndexOf() ne fonctionne pas dans mon cas

Nixeus

Bonjour,

Je souhaite lire un fichier texte, le charger dans un Arraylist afin de pouvor le traiter ( modification, insertion).

J'utilise un ArrayList afin d'avoir un tableau de string dynamique.

J'ai un seul petit soucis, petit, mais très génant.

Le IndexOf ne fonctionne pas !

En gros, je prend chaque ligne avec Readline, je les met une par une dans un élément de mon ArrayList.

Ensuite, je fais un :

[code]

m_StreamRead = new StreamReader(@"c:\toto.txt");

while (m_StreamRead.Peek() > 0)
{
    strCurrentLigne.Add(m_StreamRead.ReadLine());
}

int nPosition;
String myString = "[meschamps]";

nPosition = strCurrentLigne.IndexOf(myString);

[/code]

Le soucis est nPosition me renvoie -1 au lieu de la position de l'occurence [meschamps].

J'ai regardé en debug, mon Arraylist est pourtant bien alimenté ligne par ligne.

Je ne comprend vraiment pas.

Merci bcp :)

Nixeus'
jeudi 18 juin 2009 à 12:31:11 | Re : [débutant] IndexOf() ne fonctionne pas dans mon cas

krimog

Réponse acceptée !
Salut

Es-tu sûr que dans ton fichier texte, il y a bien une ligne égale à "[meschamps]" ? (pas une partie, mais une ligne entière)

Krimog : while (!(succeed = try())) ;
- NON, "LE BAR" n'est PAS un langage de programmation ! -
jeudi 18 juin 2009 à 13:52:43 | Re : [débutant] IndexOf() ne fonctionne pas dans mon cas

Nixeus

Haha,

Merci krimog,

Enfait, il y a un espace devant le [champ], je n'y avais pas fais attention et à vrai dire je pensais que IndexOF recherchais une partie et non uniquement l'occurence.

Existe-il une méthode pour rechercher une occurence dans une ligne ? Car j'en aurais besoin par la suite.Merci

Nixeus'
jeudi 18 juin 2009 à 13:55:04 | Re : [débutant] IndexOf() ne fonctionne pas dans mon cas

Nixeus


Suis-je bête.

J'oubliais le .ToString().Contains(string xxx)

Nixeus'
jeudi 18 juin 2009 à 14:36:03 | Re : [débutant] IndexOf() ne fonctionne pas dans mon cas

krimog

Il y a même moyen de ne pas faire de boucle pour faire le "Contains()" via une expression Lambda, en utilisant cependant une List<string> à la place de ton ArrayList :

List<string> maListe = new List<string>();
while (m_StreamRead.Peek() > 0)
{
    maListe.Add(m_StreamRead.ReadLine());
}

string myString = "[meschamps]";
int nPosition = maListe.FindIndex(s => s.Contains(myString));

Krimog : while (!(succeed = try())) ;
- NON, "LE BAR" n'est PAS un langage de programmation ! -
jeudi 18 juin 2009 à 20:09:26 | Re : [débutant] IndexOf() ne fonctionne pas dans mon cas

Bidou

Administrateur CodeS-SourceS
La boucle est bien entendue implicite !
En passant, même si une lambda expression est plus "jolie" à voir, elle est en principe moins rapide...




-Blog-
-Site Perso-


Cette discussion est classée dans : ligne, arraylist, fonctionne, indexof, streamread


Répondre à ce message

Sujets en rapport avec ce message

supprimer une ligne de mon arraylist [ par beny100 ] bonjor a tous je voudrais supprimer une ligne de mon arraylistvoici comment j'y procede table[i].ToString().remove(0);mais il supprime tous les elemen PB de Tri dans une datagridview! [ par shitboypark ] Bonjour à tous !J'ai une datagridview alimentée par un datasource.La iList renvoyée par l'objet connecté au datasource utilise une instance Collection Soucis de (dé)sérialisation [ par Captain_Bomber ] Bonjour à tous,Je cherche à partager une liste de noms entre 2 applications client-serveur. La liste évolue et doit donc être retransmise plusieurs fo Selection d'une ligne dans une DataGrid [ par lolowilou69 ] Bonjour,Voici mon problème:J'ai une datagrid de 3 colonne dans laquelle j'ai enlevé la "RowHeader".Ce que je voudrai c'est que lorsqu'on click sur une datagridview et currentrow index [ par cudenetf ] bonjour,j'ai un probleme avec le sequencement ds les datagridview (probleme d'index de ligne...)je veux passer d'une case a la suivante (sur la meme l insertion dans une BD trop lente [ par oubaj ] J'ai un fichier txt de t'aille 1 mo contenant 905 ligne j'ai exporté son contenu avec File.ReadAllLines(path) puis j'ai selectionné les ligne par un f linedraw en mode XOR [ par DIMUSERS ] Bonjour,Quelqu'un connait-il un moyen de tracer une ligne (linedraw ?) en mode XOR. C'est à dire en combinant la couleur du fond avec la couleur de la savoir la propriete pour le nombre de ligne ds un datagrid [ par mathvez ] je voudrais savoir comment connaitre le nombre de ligne actuellement ds un datagrid  S.V.P merci Lire datagridview ligne [ par T103 ] Bonjour,Je voudrais lire le contenu de mes cellules dans mon datagridview, j'ai beau chercher je n'ai pas trouvé la solution, j'ai vu que pour lire le probleme avec les dates [ par cudenetf ] bonjour,je veux faire des tris sur les datepar exemplej'ai une ligne avec la date 2007-09-02 ......j'ai un datetimepicker sur mon formuliare qui me se


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,390 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales