我有静态类theat声明数组:
static class GlobalDataClass
{
public static double[,] dDataArray = new double[10, 2];
}
现在我有一个函数,通过获取数组的行数和索引来逐行流式传输文本文件:
using (StreamReader sr = new StreamReader(filename))
{
double[] dx = new double[lines]; //lines store number of rows
double[] dy = new double[lines]; //lines store number of rows
for (long li = 0; li < lines; li++)
{
dx[li] = GlobalDataClass.dDataArray[li, 0];
dy[li] = GlobalDataClass.dDataArray[li, 1];
}
}
我的文字文件如下:
1,2
2,3
3,4
5,6
现在如何使输出矩阵如下:
dx[1] [0,0] = 1
dy[1] [0,1] = 2
等等。
答案 0 :(得分:1)
对于create multidimensional array,您可以使用list列表:
List<List<string>> ls = new List<List<string>>();
var filename="aa.txt";
StreamReader sr = new StreamReader(filename);
while (!sr.EndOfStream)
{
var line = sr.ReadLine();
var element = line.Split(',');
List<string> temp = new List<string>();
foreach (var item in element)
{
temp.Add(item);
}
ls.Add(temp);
}
在此代码中,每一行可能包含许多元素(&gt; 2)。
答案 1 :(得分:0)
你可以读取文件并用逗号分隔每一行,如下所示:
StreamReader sr = new StreamReader("MyNumbers.txt");
String line;
String[] lineSeperate;
line = sr.ReadLine();
lineSeperate = line.Split(',');
现在,dx[index] = lineSeperate[0]
和dy[index]=lineSeperate[1]
修改强> 您需要将String转换为double:
dx[0] = double.Parse(lineSeperate[0]);
dy[0] = double.Parse(lineSeperate[1]);