您好,为什么在此函数中无法读取(分配)数据? 错误与注释一致(对象引用未设置为对象的实例。)
protected static int[][] GetMapFromFile(ref int size)
{
using (StreamReader sr = new StreamReader(@"C:\Users\doman\OneDrive\Desktop\Antras semestras\Programavimas\Laboras1\Laboras1\Duomenys.txt"))
{
string skyr = " ,.;";
size = Convert.ToInt32(sr.ReadLine());
int[][] map = new int[size][];
for (int i = 0; i < size; i++)
{
string line = sr.ReadLine();
string[] values = line.Split(skyr.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
for (int j = 0; j < values.Length; j++)
{
map[i][j] = Convert.ToInt32(values[j]); // Error here
Console.Write(map[i][j]);
}
Console.WriteLine();
}
return map;
}
}
我的数据文件
5
0 1 3 4 2
1 0 4 2 6
3 4 0 7 1
4 2 7 0 7
2 6 1 7 0
答案 0 :(得分:2)
您需要创建每个“子”数组。在第二个for循环之前添加map[i] = new int[values.Length]
。