Probleme avec fonction Split C#

Résolu
MisterEdddd
Messages postés
3
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
5 mars 2009
- 5 mars 2009 à 15:02
MisterEdddd
Messages postés
3
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
5 mars 2009
- 5 mars 2009 à 16:35
Bonjour,

Je suis debutant en programmation C# et j'ai un petit problème avec la fonction Split.
Voilà. je veux lire chaque ligne d'un fichier csv ou txt et extraire des donnees de chaque ligne... (3 données par ligne séparées par des ";".)
Je suis capable de lire les lignes mais dès qe j'essaie de les spliter ca bloque...
Le message d'erreur : La référence d'objet n'est pas définie à une instance d'un objet.

Voici un bout de mon code :

TextReader reader;
string fileName @"" + label2.Text;reader

new
StreamReader(fileName);

string line;

FileInfo fil =
new
FileInfo(
@"" + label3.Text +
"\" + TrailName.Text +
".txt");

using (
StreamWriter sr = fil.AppendText())

while (
true){

// lecture de la ligne

line = reader.ReadLine();

char[] delimit =
new
char[] {
';'};

string[] tab = line.Split(delimit);   // message d'erreur ici : La référence d'objet n'est pas définie à une instance d'un objet

string enfant = tab[0];

string parent = tab[1];

string nom = tab[2];

// si la ligne est vide on arrˆte

if (line ==
null)

break;

// on affiche la ligne

sr.WriteLine(

"1 `" + enfant +
"`");sr.WriteLine(

"1 `" + parent +
"`");sr.WriteLine(

"1 `" + nom +
"`");

}

reader.Close();

Merci pour votre aide!

4 réponses

SharpMao
Messages postés
1024
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
7 juin 2010
67
5 mars 2009 à 16:02
Hello,

Tu dois mettre :
if (line == null)
break;

juste après ça :
line = reader.ReadLine();

Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)
3
leprov
Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
17
5 mars 2009 à 15:36
tu n'as juste pas vérifie que ton reader avait bien retourné quelque chose dans ton read...donc lorsqu'il ne lit plus rien, line vaut null
0
MisterEdddd
Messages postés
3
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
5 mars 2009

5 mars 2009 à 15:47
Je m'excuse mais je ne vois pas ce que je dois modifier..


Merci
0
MisterEdddd
Messages postés
3
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
5 mars 2009

5 mars 2009 à 16:35
Merci! ca fonctionne! :)
0