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 !)
sachant que myclass c'est ca
Code : Sélectionner tout - Visualiser dans une fenêtre à part List<List<MyClass>> MesList = new List<List<MyClass>>();
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 public class MyClass { public double myDate { get; set; } public double myValeur1 { get; set; } public double myValeur2 { get; set; } }
Mais ça ne fonctionne pas, j'ai une exception dés la première exécution de la boucle :
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 } }
Je n'arrive pas à comprendre de quoi il parle. quel index ? quelle limite ?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.
Merci par avance pour votre aiguillage !
Partager