int[][] DayNumbers = new int[][] { };
for (int Number = 1; Number < MonthDays; Number++)
{
for (int i = 0; i < 6; i++)
for (int j = 0; j < 7; j++)
{
DayNumbers[i][j] = Number;//IndexOutOfRangException索引超出了数组界限。
}
DayNumbers[0][0] = 0;
DayNumbers[0][1] = 0;
DayNumbers[0][2] = 0;
}
return DayNumbers;
我要是写成:int[][] DayNumbers = new int[6][7];//还没编译,IDE就提示:无效的秩说明符: 应为“,”或“]”int[][] DayNumbers = new int[][7];//还没编译,IDE就提示:无效的秩说明符: 应为“,”或“]”就只有int[][] DayNumbers = new int[][] { };编译通过。运行时出//IndexOutOfRangException索引超出了数组界限。的错
for (int Number = 1; Number < MonthDays; Number++)
{
for (int i = 0; i < 6; i++)
{
DayNumbers[i] = new int[7];
for (int j = 0; j < 7; j++)
{
DayNumbers[i][j] = Number;
}
}
}
return DayNumbers;
int[][] DayNumbers = new int[6][];
for (int Number = 1; Number < MonthDays; Number++)
{
for (int i = 0; i < 6; i++)
for (int j = 0; j < 7; j++)
{
DayNumbers[i][j] = Number;//IndexOutOfRangException索引超出了数组界限。
}
DayNumbers[0][0] = 0;
DayNumbers[0][1] = 0;
DayNumbers[0][2] = 0;
}
return DayNumbers;
int[,] DayNumbers = new int[6,7]; //这个才是多维数组
for (int Number = 1; Number < MonthDays; Number++)
{
for (int i = 0; i < 6; i++)
for (int j = 0; j < 7; j++)
{
DayNumbers[i,j] = Number;//注意写法[i,j]
}
DayNumbers[0,0] = 0;
DayNumbers[0,1] = 0;
DayNumbers[0,2] = 0;
}
return DayNumbers;
//..........
int[,] = new int[6,7];
i[0,0] = 0;
i[0,1] = 1;
i[1,0] = 2;
i[1,1] = 3;
//...........
然后第二维可以在使用时再指定。
另外如果数组存放统一类型的数据,多维数组可以这样定义 int[,] arr = new int[,];