C# 入門 & 実践 / C sharp

4-3. 配列 多次元配列


4-3-1. 多次元配列、固定


この方法では、2次元、3次元の全てのマスに値を持つ形となります。

        static void Main()
        {
            // 二次元配列
            int[,] po = {{1,2,3},{9,8,7}};

            Console.WriteLine("{0}", po[1,1]);

            // 三次元
            int[,,] popo = new int[2,2,2];// 0 で初期化
            int[,,] popo2 = { { { 1, 2 }, { 3, 4 } }, { { 5, 6 }, { 7, 8 } } };

            Console.WriteLine("{0} / {1}", popo[0, 0, 0], popo2[0, 0, 0]);
            Console.WriteLine("{0} / {1}", popo[1, 1, 1], popo2[1, 1, 1]);
        }

4-3-2. ジャグ配列


配列の配列であり、すべてのマスを埋める必要はありません。

        static void Main()
        {
            // 二次元配列
            int[][] po = new int[2][];
            po[0] = new int[4];
            po[1] = new int[2];

            Console.WriteLine("{0}", po[0][3]);
            Console.WriteLine("{0}", po[1][1]);
            // こちらはエラー!!!
            Console.WriteLine("{0}", po[1][3]);
        }
先ほどと違い2次元目のサイズは、個別なので po[1][3] はないので、エラーとなります。
「 ハンドルされていない例外: System.IndexOutOfRangeException: インデックスが配列の境界外です。 」





4-2. 配列 params キーワード « 4. C# 入門 Level 2 » 4-4. 配列の型変換


C# 入門 & 実践 / C sharp