如何初始化2Darrays数组?
我有一组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}}}
但如果我写
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}}};
编译器会抱怨“;预期”。
如果我写
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}}};
编译器会抱怨
“预计会嵌套数组初始值设定项”。
那么为什么会发生这种情况以及正确的初始化方式是什么?
你正在尝试创建锯齿状数组。 你的数组有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}} };
2d数组的数组是3d数组:
int[, ,] array3D = new int[,,] { { { 1, 2, 3 } }, { { 4, 5, 6 } } };
另请参阅MSDN https://msdn.microsoft.com/en-us/library/2yd9wwz4(v=VS.90).aspx
上述就是C#学习教程:如何初始化2Darrays数组?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/984388.html