今日のエラー
二次元配列をこのような形で初期化したところ、data[1, 1]を読もうとすると
IndexOutOfRangeException: Array index is out of range.
となった。
コード
int[,] data = new int[,] {
{ 0 },
{ 2, 2 ,2 },
{ 1, 100 },
{ 100, -1 , 2}
};
原因
初期化の仕方が誤っていた。
解決
矩形配列として宣言する
int[,] data = new int[,]{
{ 0, 0, 0 },
{ 2, 2 ,2 },
{ 1, 100, 0 },
{ 100, -1 , 2 }
};
ジャグ配列として宣言する
int[][] data = new int[4][]
data[0] = new int[]{ 0 };
data[1] = new int[]{ 2, 2 ,2 };
data[2] = new int[]{ 1, 100 };
data[3] = new int[]{ 100, -1 , 2 };
};
環境
- OSX El Capitan v10.11.2
- Unity v5.2.3f1