remplissage d'une List de List
Bonjour
J'ai besoin de remplir des List avec des données contenues dans un fichier CSV dont je ne connais pas le nombre de champ.
J'ai déclaré une List de List, globale, comme ça (travail d'une matinée !)
Code:
List<List<MyClass>> MesList = new List<List<MyClass>>();
sachant que myclass c'est ca
Code:
1 2 3 4 5 6
| public class MyClass
{
public double myDate { get; set; }
public double myValeur1 { get; set; }
public double myValeur2 { get; set; }
} |
maintenant je cherche à remplir ca en lisant ligne par ligne un fichier CSV avec ca
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| while (!MonFichier.EndOfStream)
{
string ligne = MonFichier.ReadLine();
tabCSV = ligne.Split(';');
string[] FormatsDates = new string[4] { "dd/MM/yyyy", "dd/MM/yyyy HH:mm:ss.fff", "dd/MM/yyyy HH:mm:ss", "dd/MM/yyyy HH:mm" };//formats possibles de date
double date = DateTime.ParseExact(tabCSV[0], FormatsDates, null, System.Globalization.DateTimeStyles.None).ToOADate();
for (int y = 1; y < NbChamps; y = y +2 )
{
double Min = Convert.ToDouble(tabCSV[y]);
double Max = Convert.ToDouble(tabCSV[y+1]);
MesList[y].Add(new MyClass { myDate = date, myValeur1 = Min, myValeur2 = Max }); //là ca merdoit
}
} |
Mais ça ne fonctionne pas, j'ai une exception dés la première exécution de la boucle :
Citation:
Une exception non gérée du type 'System.ArgumentOutOfRangeException' s'est produite dans mscorlib.dll
Informations supplémentaires*: L'index était hors limites. Il ne doit pas être négatif et doit être inférieur à la taille de la collection.
Je n'arrive pas à comprendre de quoi il parle. quel index ? quelle limite ?
Merci par avance pour votre aiguillage !