static メソッドを定義

x=32  y=24  GCM=8  LCM=96

C# でメインとは別の Class を作成して、static メソッドを定義します。

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

プログラムの説明

  1. フォルダーに次のファイルを格納して下さい。
    class console と class gcmlcm が入れ替わってもOKです。
    GCM や LCM の説明は 分数の計算 を参照して下さい。
    /***********************************************/
    /*★ C# GCM LCM  Function Class    前田 稔 ★*/
    /***********************************************/
    using System;
    class console
    {
        public static int Main()
        {
            int x = 32;
            int y = 24;
            int vgcm;
    
            gcmlcm.gcm(x,y,out vgcm);
            Console.WriteLine("x={0}  y={1}  GCM={2}  LCM={3}",x,y,vgcm,gcmlcm.lcm(x,y));
            System.Console.ReadLine();
            return 0;
        }
    }
    
    class gcmlcm
    {
        public static void gcm(int n, int m, out int ans)
        {
            while(n!=m)
            {   if (n>m)    n-= m;
                else        m-= n;
            }
            ans= n;
        }
    
        public static int lcm(int n, int m)
        {
            int     wk;
            gcm(n,m,out wk);
            return n*m/wk;
        }
    }
    
  2. C# では、メソッド(関数)は Object Class のメンバーとして定義します。
    Main() メソッドが定義されている console Class とは別に gcmlcm Class を作成して、この中に gcm() と lcm() のメソッドを定義してみました。
  3. 関数には Static 関数と Static で無い(Automatic)関数があります。
    Static 関数は、インスタンス化しなくても呼び出すことが出来る関数で、Main() は Static で宣言しなければなりません。
    また Static 関数からインスタンス化しないで呼び出す関数やデータは Static で宣言する必要があります。
  4. gcm() 関数はパラメータ vgcm を通じて値を返します。
    lcm() 関数はリターン値として値を返します。
    Main() 関数から gcm() や lcm() を呼び出すときはクラス名(gcmlcm)で修飾しなければなりません。
    gcmlcm.gcm(x,y,out vgcm);
    gcmlcm.lcm(x,y);
    

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