out パラメータを使う

x=32  y=24  GCM=8

C# のメソッドのパラメータとして out を使います。

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

プログラムの説明

  1. gcm() メソッドで GCM(n,m) を計算して、結果を ans に設定して持ち帰ります。
    C++ ではこのようなプログラムにはポインタを使うのが普通ですが、C# では out を指定したパラメータを使います。
    C# でもポインタを使おうと思えば使えるのですが、領域保護の関係でなるべく使わないのがルールのようです。
    パラメータに out を指定すると呼び出された関数で値を設定して、持ち帰ることが出来ます。
  2. Main() 関数も gcm() も Static で宣言して下さい。
  3. ソースコードです。
    /**********************************************/
    /*★ C# GCM   Function Program    前田 稔 ★*/
    /**********************************************/
    using System;
    
    class console
    {
        public static int Main()
        {
            int x = 32;
            int y = 24;
            int vgcm;
    
            gcm(x,y,out vgcm);
            Console.WriteLine("x={0}  y={1}  GCM={2}",x,y,vgcm);
            System.Console.ReadLine();
            return 0;
        }
    
        static void gcm(int n, int m, out int ans)
        {
            while(n!=m)
            {   if (n>m)    n-= m;
                else        m-= n;
            }
            ans= n;
        }
    }
    

【演習】

  1. メソッド(method) の定義 と比べてみて下さい。
  2. out を外してプログラムして、値が持ち帰れないことを確認して下さい。

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