Avec le code ci-dessous, sur le foreach
, j'obtiens une exception.Fichier CSV en classe via Linq
Je place le point d'arrêt sur le csv
(deuxième ligne), je développe le résultat, je vois 2 entrées c'est ok.
Quand je fais la même chose sur le csv
dans le foreach
, je reçois un excpetion: can't read from closed text reader.
Toute idée?
Merci,
Mon fichier CSV:
A0;A1;A2;A3;A4
B0;B1;B2;B3;B4
Le code
var lines = File.ReadLines("filecsv").Select(a => a.Split(';'));
IEnumerable<IEnumerable<MyClass>> csv =
from line in lines
select (from piece in line
select new MyClass
{
Field0 = piece[0].ToString(),
Field1 = piece[1].ToString()
}
).AsEnumerable<MyClass>();
foreach (MyClass myClass in csv)
Console.WriteLine(myClass.Field0);
Console.ReadLine();
MyClass:
public class MyClass
{
public string Field0 { get; set; }
public string Field1 { get; set; }
}
Je pense aussi la même chose. – userGS