无法分配数据

时间:2019-02-14 22:20:12

标签: c# function compiler-errors

您好,为什么在此函数中无法读取(分配)数据? 错误与注释一致(对象引用未设置为对象的实例。)

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

1 个答案:

答案 0 :(得分:2)

您需要创建每个“子”数组。在第二个for循环之前添加map[i] = new int[values.Length]