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 69
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
Rejoignez-nous