Вы не инициализируете 2D-массив Ctable
правильно, он по-прежнему равен нулю. См. Мой пример ниже. Я инициализирую массив размером входного параметра m
и n
метода void GetTable(int m, int n)
.
Ваша комбинация неправильная. Массивы нулевые индексируются (0, n - 1). Вы найдете дополнительную информацию для инициализации массивов here.
public static int[,] Ctable;
private static void GetTable(int m, int n)
{
Ctable = new int[m, n]; // Initialize array here.
for (int i = 0; i < m; i++) // Iterate i < m not i <= m.
{
Ctable[i, 0] = 1;
}
}
Однако, вы всегда будете переписывать Ctable
. Вероятно, вы ищете что-то вроде:
private const int M = 16; // Size of the array element at 0.
private const int N = 3; // Size of the array element at 1.
public static int[,] Ctable = new int [M, N]; // Initialize array with the size of 16 x 3.
private static void GetTable()
{
for (int i = 0; i < M; i++)
{
Ctable[i, 0] = 1;
}
}
Ваш Ctable имеет значение null, это ваша проблема, проверьте вопрос, который я отправляю. Узнайте, что такое отладка. – mybirthname