配列の基礎

10 20 30
40 50 60

C# で int 型の1次元配列を定義します。

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

プログラムの説明

  1. フォルダーに次のファイルを格納して下さい。
    /*★ 配列の基礎     前田 稔 ★*/
    using System;
    
    class Prog
    {
        public static void Main()
        {
            int[] myarray1 = new int[3];
            myarray1[0] = 10;
            myarray1[1] = 20;
            myarray1[2] = 30;
            Console.WriteLine("{0} {1} {2}", myarray1[0], myarray1[1], myarray1[2]);
    
            // インスタンス化と同時に、値を設定
            int[] myarray2 = new int[3]{40, 50, 60};
            Console.WriteLine("{0} {1} {2}", myarray2[0], myarray2[1], myarray2[2]);
        }
    }
    
  2. C# で int 型の1次元配列を定義します。
    int[3] の 3 は配列の大きさです。
    int[] myarray1 = new int[3];
  3. 配列は添え字「[0], [1], [2]」を付けて参照します。
    添え字に変数名を使って myarray1[i] のように書くことも出来ます。
        myarray1[0] = 10;
        myarray1[1] = 20;
        myarray1[2] = 30;
        
  4. インスタンス化と同時に、値を設定する方法です。
        int[] myarray2 = new int[3]{40, 50, 60};
        int[] myarray3 = { 1, 2, 3 };
        
  5. インスタンス化と同時に文字列を定義する場合は、次のように書きます。
        string[] strary = { "ABC", "nhk", "string", "maeda minoru" };
    

配列の代入

  1. 配列は Object Class です。
    従って a1 から a2 に代入することが出来ます。
    /******************************/
    /*★ 配列の代入     前田 稔 ★*/
    /******************************/
    using System;
    
    class Prog
    {
        public static void Main()
        {
            int[] a1 = new int[2]{10, 20};
            int[] a2;
            a2 = a1;
            Console.WriteLine("a1[0]={0}  a1[1]={1}  a2[0]={2}", a1[0], a1[1], a2[0]);
            a2[0] = 123;
            Console.WriteLine("a1[0]={0}  a1[1]={1}  a2[0]={2}", a1[0], a1[1], a2[0]);
            Console.ReadLine();
        }
    }
    
  2. a2 に a1 を代入しています。
    その結果、a1 と a2 は同じ領域を参照することになります。
    a2[0] = 123; を実行すると a1 の値も変更されます。
    このプログラムの実行結果です。
        a1[0]=10  a1[1]=20  a2[0]=10
        a1[0]=123  a1[1]=20  a2[0]=123
        

【NOTE】

一次元配列の大きさは GetLength(0) で取得することが出来ます。
同様に二次元目の大きさは GetLength(1) で取得することが出来ます。
myarray1.GetLength(0);
一次元配列 myarray1 の値を印字するときは、次のようになります。
for(int i=0; i<myarray1.GetLength(0); i++)
{
    Console.WriteLine(myarray1[i]);
}

[Next Chapter ↓]配列の比較

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