У меня есть массив 2D-массивов. Например, это как:Как инициализировать массив 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}}};
компилятор пожалуется
"Вложенный массив инициализатор, как ожидается".
Так почему это происходит и что является правильным способом инициализации?
Я добавляю 'new int [,] []' в начале, но ошибка все еще существует. – ziyuang
Ahh, я вижу вашу проблему, у меня есть код исправления из вашего примера. – Ekk
Это работает ~ Я думал, что 'int [,]' является типом, поэтому массив этого типа будет 'int [,] []'. Почему это так? – ziyuang