dynamic にサイズを設定

  100  101  102  ---line= 0
  110  111  112  ---line= 1
  200  201  202  203  ---line= 0
  210  211  212  213  ---line= 1
  220  221  222  223  ---line= 2

C# で二次元配列のサイズを dynamic に設定します。

前田稔(Maeda Minoru)の超初心者のプログラム入門

プログラムの説明

  1. フォルダーに次のファイルを格納して下さい。
    /*****************************************/
    /*★ dynamic にサイズを設定    前田 稔 ★*/
    /*****************************************/
    using System;
    
    class Prog
    {
        public static void Main()
        {
            int[,] myarray;
            int y = 2, x = 3;
            
            myarray = new int[y, x];
            for (int i = 0; i < y; i++)
                for (int j = 0; j < x; j++)
                    myarray[i, j] = i * 10 + j + 100;
            for (int i = 0; i < y; i++)
            {
                for (int j = 0; j < x; j++)
                    Console.Write("  {0}", myarray[i, j]);
                Console.WriteLine("  ---line= {0}", i);
            }
    
            y = 3;
            x = 4;
            myarray = new int[y, x];
            for (int i = 0; i < y; i++)
                for (int j = 0; j < x; j++)
                    myarray[i, j] = i * 10 + j + 200;
            for (int i = 0; i < y; i++)
            {
                for (int j = 0; j < x; j++)
                    Console.Write("  {0}", myarray[i, j]);
                Console.WriteLine("  ---line= {0}", i);
            }
        }
    }
    
  2. C# で int 型の二次元配列のサイズを dynamic に設定します。
    int[,] は二次元配列の定義です。
    int[,] myarray;
  3. myarray のサイズをプログラムでダイナミッックに設定してみました。
        int y = 2, x = 3;
        myarray = new int[y, x];
        
  4. myarray[2,3] に適当な値を設定して、正常にアロケートされていることを確認します。
  5. myarray のサイズを変更してみました。
        y = 3;
        x = 4;
        myarray = new int[y, x];
        
  6. myarray[3,4] に値を設定し直して、正常にアロケートされていることを確認します。
  7. プログラムを実行した結果です。
    ソースコードと比べてみて下さい。
      100  101  102  ---line= 0
      110  111  112  ---line= 1
      200  201  202  203  ---line= 0
      210  211  212  213  ---line= 1
      220  221  222  223  ---line= 2
    

超初心者のプログラム入門(C# Frame Work)