如何将数组放入2D数组的第一个索引中

时间:2019-10-11 03:30:32

标签: c# arrays multidimensional-array

我基本上想将包含从numericUpDowns获取的学生成绩的创建数组放入2D数组的第一个索引中,因此,如果我创建了另一个学生,则第一个学生的成绩将不会被替换,因为我会将第二个学生的成绩在我的2D数组的第二个索引中,并调用此索引。

我创建并初始化了一个数组,该数组包含5个索引,每个索引具有1个等级,我尝试为2D array[i][0](当然带有a)赋予整个等级数组的值

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 :(得分:0)

tempGrades[i][0]代表2D数组的单个元素,其类型为NumericUpDown,而您正试图为其分配数组,这是错误的。您需要做的是将数组分配给tempGrades[i],它将代表2D数组中的一行(1D数组)。因此您的代码看起来像tempGrades[i][0] = tabGrades;。您的代码还有其他问题,例如:

  1. 在初始化它们时应定义数组长度,这样

    new NumericUpDown [tabGrades.Length] [],这是一个错误,您还必须指定列数,并且列数应等于tabGrades.Length的长度,因为只有这样您才是{{ 1}}将能够存储tempGrades[i]

  2. 如果只需要运行第一次迭代,为什么要使用循环。您的代码应该喜欢:

    tempGrades [0] [0] = tabGrades;

因此您的最终代码应类似于:

tabGrades