C# · 12月 26, 2021

c# – 如何初始化2D数组的数组?

我有一个2D阵列阵列.例如,它就像: {{{0,1},{1,0}}{{0,3},{2,1,2},2,{3,7},6},{6,3,{7,0}}}

但如果我写

int [,][] arrays={{{0,0}} {{0,0}}};

编译器会抱怨“;预期”.

如果我写

int [,][] arrays={new int[,] {{0,0}} new int[,0}}};

编译器会抱怨

“A nested array initializer is expected”.

那么为什么会这样发生,什么是正确的初始化方法?

解决方法 您正在尝试创建锯齿状阵列.你的数组有n行,所以你的第一个Square应该是[]不是[,].每行中的元素(n的索引)是2D数组,因此您需要使用[,].最后,您可以通过将int [,] []更改为int [] [,]来解决问题. int[][,] arrays = { new int[,0}},new int[,0}}};