【Unity】二次元配列の初期化でIndexOutOfRangeException

今日のエラー

二次元配列をこのような形で初期化したところ、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