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

C# 如何将数组放入2D数组的第一个索引中,c#,arrays,multidimensional-array,C#,Arrays,Multidimensional Array,我基本上想将一个创建的数组放入2D数组的第一个索引中,该数组包含我从numericUpDowns中获取的学生成绩,因此如果我创建了另一个学生,第一个学生的成绩将不会被替换,因为我会将第二个学生的成绩放入2D数组的第二个索引中,并调用该索引 我创建并初始化了一个数组,该数组包含5个索引,每个索引有1个等级,我试图给我的2D数组[I][0](当然有一个等级)整个等级数组的值 static NumericUpDown[] tabGrades = new NumericUpDown[5]; Numer

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

我创建并初始化了一个数组,该数组包含5个索引,每个索引有1个等级,我试图给我的2D
数组[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;

}
static NumericUpDown[]tabGrades=new NumericUpDown[5];
NumericUpDown[]tempGrades=新的NumericUpDown[tabGrades.Length][];
...
对于(int i=0;i

我希望我的2D数组只是将数组作为它的第一个索引值,但它告诉我我有语法错误,并且缺少“;”

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

  • 应在初始化时定义数组长度,以便

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

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

    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;
    

    你在哪一行出错?我想通过使用带中断的循环,它会自动将第二组分数放入另一个索引中,而无需我手动操作,这就是我使用循环的原因。多谢各位!