У меня есть файл, a.csv, который содержит квадратную матрицу п по п измерений, в следующем формате:Как читать файл CSV в межд [] C#
1,2,3
4,5,6
7,8,9
И я хочу читать его в междунар [], что-то вроде:
StreamReader csv = new StreamReader("a.csv");
int n = 3
string[] lines = new string[n];
int[] intlines = new int[n]
int q = 0;
bool exiting = false;
do
{
if (csv.ReadLine() != "")
{
exiting = true;
}
if (exiting == false)
{
lines[q] = (((csv.ReadLine()).Split(",")).ToString());
q++;
}
}
while (exiting == false);
Console.WriteLine("Finished Reading!");
System.Threading.Thread.Sleep(500);
int q2 = 0;
foreach (string s in lines)
{
Console.WriteLine("lines: {0}", s);
intlines[q2] = int.Parse(s);
}
foreach (int i in intlines)
{
Console.WriteLine("intlines: {0}", i.ToString());
}
Console.ReadKey();
на данный момент, есть что-то не так с ним, как компилятор происходит около полукокса [] s. В любом случае, как бы я мог читать горизонтальные линии и вертикальные линии, в двумерный int []? Спасибо.
любая причина, по которой вы используете массив над списком? – jzm
woah nelly. Так много того, что вы делаете, уже доступно в многочисленных библиотеках. Это можно сделать в 3-4 строках кода – Jonesopolis
@malik В конечном счете, я хотел бы иметь двумерный int [] для управления, поэтому я бы предпочел не использовать списки. Я придумал: Список lines = new Список (); \t \t \t int Row = 0; \t \t \t в то время как (sr.EndOfStream!) \t \t \t { \t \t \t строка [] = Line sr.ReadLine() Split (''). \t \t \t lines.Add (Line); \t \t \t Строка ++; \t \t \t} –
vasilescur