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 : Sélectionner tout - Visualiser dans une fenêtre à part
List<List<MyClass>> MesList = new List<List<MyClass>>();
sachant que myclass c'est ca
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
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 !