Как я могу поместить массив в первый индекс двумерного массива - PullRequest
0 голосов
/ 11 октября 2019

Я в основном хочу поместить созданный массив, который содержит оценки учеников, которые я взял из numericUpDowns, в первый индекс двумерного массива, поэтому, если я создаю другого ученика, оценки первого не будут заменены, потому что я поместил бы оценки второгово втором индексе моего 2D массива и назовите этот индекс.

Я создал и инициализировал массив, который содержит 5 индексов с 1 оценкой для каждого индекса, и я попытался дать своему 2D array[i][0] (с, конечно, для) значение всего массива оценок

static NumericUpDown[] tabGrades = new NumericUpDown[5];

NumericUpDown[][] tempGrades = new NumericUpDown[tabGrades.Length][];

...

for (int i = 0; i < tempGrades.Length; i++)

{

tempGrades[i][0] = tabGrades[];

break;

}

Я ожидал, что мой 2D-массив просто примет массив в качестве первого значения индекса, но вместо этого он говорит мне, что у меня есть синтаксическая ошибка и что ";"отсутствует

1 Ответ

0 голосов
/ 11 октября 2019

tempGrades[i][0] представляет отдельный элемент двумерного массива типа NumericUpDown, и вы пытаетесь присвоить ему массив, что является ошибкой. Вам нужно присвоить массив tempGrades[i], который будет представлять строку (массив 1D) в массиве 2D. Таким образом, ваш код будет выглядеть как tempGrades[i][0] = tabGrades;. Ваш код имеет другую проблему, такую ​​как:

  1. Длина массива должна быть определена при их инициализации, чтобы

    new NumericUpDown [tabGrades.Length] [] это ошибка, у вас естьчтобы указать количество столбцов также и количество столбцов должно быть равно длине tabGrades.Length, как только тогда вы бы tempGrades[i] могли бы хранить tabGrades

  2. почему вы используете цикл, если вам нужно запустить только 1-ю итерацию. Ваш код должен выглядеть следующим образом:

    tempGrades [0] [0] = tabGrades;

Таким образом, ваш окончательный код должен выглядеть следующим образом:

static NumericUpDown[] tabGrades = new NumericUpDown[5];

//Here use whatever length you want instead of 10.
NumericUpDown[][] tempGrades = new NumericUpDown[10][tabGrades.Length]; 

...

tempGrades[0][0] = tabGrades;
...