Object Class の配列

v1=   1  v2=   0  sum=    1
v1=   2  v2=  10  sum=   12
v1=   3  v2=  20  sum=   23
v1=   4  v2=  30  sum=   34
v1=   5  v2=  40  sum=   45

C# で Object Class の配列を使います。

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

プログラムの説明

  1. Object Class の説明はまだなのですが、配列の使い方として取り上げてみました。
    Object Class は Object Class を参照して下さい。
  2. フォルダーに次のファイルを格納して下さい。
    /****************************************/
    /*★ Array に Class を登録    前田 稔 ★*/
    /****************************************/
    using System;
    
    class Prog
    {
        public class Cls
        {
            public int v1;
            public int v2;
            public int sum;
    
            //Constructor
            public Cls(int val1, int val2)
            {
                v1 = val1;
                v2 = val2;
                sum = v1+v2;
            }
        }
    
        public static void Main()
        {
            Cls[] cls = new Cls[5];
            int i;
    
            for (i = 0; i < 5; i++)
                cls[i] = new Cls(i + 1, i * 10);
            for (i = 0; i < 5; i++)
                Console.WriteLine("v1={0,4}  v2={1,4}  sum={2,5}", cls[i].v1, cls[i].v2, cls[i].sum);
        }
    }
    
  3. C# で 配列(Array) に Object Class を格納します。
    格納する Object Class の定義です。
    v1, v2 とその和を格納する sum の領域を定義しています。
    また Constructor として、v1, v2, sum に値を設定するメソッドを定義しました。
        public class Cls
        {
            public int v1;
            public int v2;
            public int sum;
    
            //Constructor
            public Cls(int val1, int val2)
            {
                v1 = val1;
                v2 = val2;
                sum = v1+v2;
            }
        }
        
  4. new Cls[5] の 5 は配列の大きさで、5個分の Cls の領域(ポインタ配列)が確保されます。
    Cls[] cls = new Cls[5];
  5. cls[] はポインタ配列が確保されただけなので、new で Class を生成して実体を格納して下さい。
    Constructor に渡すパラメータには i を使って適当な値を設定してみました。
    cls はポインタ配列なので、添え字を付けて参照します。
            for(i=0; i<5; i++)
                cls[i] = new Cls(i + 1, i * 10);
        
  6. 配列 cls に登録した Class の値を表示します。
            for(i=0; i<5; i++)
                Console.WriteLine("v1={0,4}  v2={1,4}  sum={2,5}", cls[i].v1, cls[i].v2, cls[i].sum);
        

初期値の設定

  1. Object Class の配列に new で生成した Class を初期値として設定してみました。
    public static void Main()
    {
        Cls[] cls = { new Cls(1,8), new Cls(3,4), new Cls(5,2), new Cls(7,6) };
        for(int i=0; i<4; i++)
            Console.WriteLine("v1={0,4}  v2={1,4}  sum={2,5}", cls[i].v1, cls[i].v2, cls[i].sum);
    }
    

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