####前置き
ある日ある時、パズルゲームを作っている時に二重配列を使いたくなって使いました。
他のある日、また二重配列を使いたくなって使いました。
また別のある日、その二つの二重配列を見返しました。
あれぇれぇ~? この二つ種類違うぞぉ? おっかしいなぁ~?( ゚Д゚)
####ここから本編
array1
//C#
//ある日あるときの配列
int[][] bingo = { new int[] { 0, 1, 2 }, new int[] { 3, 4, 5 }, new int[] { 6, 7, 8 }, new int[] { 0, 3, 6 }, new int[] { 1, 4, 7 }, new int[] { 2, 5, 8 }, new int[] { 0, 4, 8 }, new int[] { 2, 4, 6 } };
//他のある日の配列
int[,] day = new int[2,3];
前者の配列は、要素数が一定でないときにも対応できる。
けど、後者の配列は要素数が一定でないときは対応できない。
後者のやつが二次元配列で、前者はあくまでも配列内の配列って扱いなのかな。
配列を定義するだけなら後者でよさそう。('ω')
array2
//C#
//要素数が一定でないときの配列の使い方
//要素数が3個の配列(中身{0,1,2})と2個の配列(中身{3,4})を、同じ配列に入れている
int[][] arr1 = { new int[] { 0, 1, 2 }, new int[] { 3, 4 }};
//要素数が一定な時の配列の使い方
//前者と同じように中身を定義することもできる(定義していないと全部中身は0になる)
int[,] arr2 = new int[2,3]{ { 0, 1, 2 } { 3, 4, 5} };
ふむふむ、それならば、ある日ある時のビンゴ配列は、要素数が同じだから後者の配列でもよかった……。
ど、どうせ中身定義しなきゃいけなかったわけだし?ゲーム内ではちゃんと動いたわけだし?過去のことを思っちゃダメ。未来のことも思っちゃダメ。今を精一杯生きようじゃないか。(*´ω`)