ziy*_*ang 13 c# initialization multidimensional-array array-initialization
我有一组2D数组.例如,它就像:
{{{0, 0, 1}, {1, 0, 0}}
{{0, 0, 3}, {2, 1, 2}, {2, 2, 1}, {3, 0, 0}}
{{0, 0, 7}, {3, 2, 6}, {6, 2, 3}, {6, 3, 2}, {7, 0, 0}}}
Run Code Online (Sandbox Code Playgroud)
但如果我写
int [,][] arrays={{{0, 0, 1}, {1, 0, 0}}
{{0, 0, 3}, {2, 1, 2}, {2, 2, 1}, {3, 0, 0}}
{{0, 0, 7}, {3, 2, 6}, {6, 2, 3}, {6, 3, 2}, {7, 0, 0}}};
Run Code Online (Sandbox Code Playgroud)
编译器会抱怨";期望".
如果我写
int [,][] arrays={new int[,] {{0, 0, 1}, {1, 0, 0}}
new int[,] {{0, 0, 3}, {2, 1, 2}, {2, 2, 1}, {3, 0, 0}}
new int[,] {{0, 0, 7}, {3, 2, 6}, {6, 2, 3}, {6, 3, 2}, {7, 0, 0}}};
Run Code Online (Sandbox Code Playgroud)
编译器会抱怨
"预计会嵌套数组初始值设定项".
那么为什么会发生这种情况以及正确的初始化方式是什么?
Ekk*_*Ekk 23
您正在尝试创建锯齿状阵列.你的数组有n
行,所以你的第一个方格应该是[]而不是[,].每行中的元素(索引n
)是2D数组,因此您需要使用[,]
.最后,您可以通过将int更改[,][]
为修复问题int[][,]
.
int[][,] arrays = {
new int[,] {{0, 0, 1}, {1, 0, 0}},
new int[,] {{0, 0, 3}, {2, 1, 2}, {2, 2, 1}, {3, 0, 0}},
new int[,] {{0, 0, 7}, {3, 2, 6}, {6, 2, 3}, {6, 3, 2}, {7, 0, 0}}
};
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
22099 次 |
最近记录: |