J'ai obtenu une table (dans le fichier) que je divise en blocs par des espaces.Comment créer une liste multi-dimensionnelle pour ceci en C#?
je besoin d'une structure comme ceci:
-----------------------------
|21|22|23|33|3323|
|32|32|
|434433|545454|5454|
------------------------------
Il est plus comme chaque ligne est sa propre table. Comment dois-je faire cela? J'ai essayé List<List<string>> matrix = new List<List<string>>()
; mais je n'arrive pas à trouver un moyen de travailler avec.
EDIT - quelqu'un peut me dire quel est le problème avec ce code? Matrice [0] [0] est la même que la matrice [1] [0] .. il semble que même ligne est ajoutée à la matrice tout le temps, mais je l'effacer ...
static ArrayList ReadFromFile(string filename)
StreamReader SR;
string S;
string[] S_split;
SR = File.OpenText(filename);
S = SR.ReadLine();
ArrayList myItems = new ArrayList();
List<List<string>> matrix = new List<List<string>>();
List<string> row = new List<string>();
while (S != null)
{
row.Clear();
S_split = S.Split(' ');
for (int i = 1; i < S_split.GetLength(0); i++)
{
row.Add(S_split[i]);
matrix.Add(row);
}
S = SR.ReadLine();
}
Console.WriteLine(matrix[1][1]);
SR.Close();
return myItems;
}
Le problème est très simple. Vous créez uniquement un objet de ligne et l'insérez plusieurs fois. Vous devez créer une nouvelle liste pour chaque ligne. Jetez un oeil à ma réponse. –