C#メソッド、メソッドのオーバーロード、パラメーター修飾子C#のその他の学習(7)

1.メソッドを定義して呼び出す

定義メソッドには、通常、修飾子、戻り値の型、メソッド名、パラメーター、メソッド本体が含まれます。
次の例では、パラメーターと戻り値のないメソッド、パラメーターと戻り値のあるメソッド、およびmain関数の呼び出し方法を定義しますデモンストレーションの便宜上、修飾子staticがメソッドの追加されます。つまり、このメソッドは静的メソッドであり、直接呼び出すことができます。静的メソッドでない場合は、クラスオブジェクトを使用して呼び出す必要があります。

        static void Main(string[] args)//程序入口,主函数
        {
    
    
            //无参无返回值的方法,直接调用即可
            outprint();

            //调用有参数的方法,需传入实参
            //如需得到返回值,一般需要一个变量来接受
            int result = add(5, 6);
        }

        static void outprint()//修饰符 返回类型 方法名
        {
    
    
            Console.WriteLine("hello !");//方法体
        }

        static int add(int a, int b)//修饰符 返回类型 方法名 形参
        {
    
    
            int s = a + b;
            return s;//返回值
        }

2.メソッドのオーバーロード

本質的には複数のメソッドがありますが、メソッド名は同じであり、メソッドのパラメーターまたはパラメータータイプの数が異なるため、過負荷の関係が形成されます。呼び出すときは、異なるパラメーターのみを渡す必要があります。オーバーロードは、さまざまなメソッド本体を実行するために使用できます。

		static void Main(string[] args)
        {
    
    
            //根据传入的实参不同,执行不同的方法体
            methodCW("龙傲天");
            methodCW(55);
        }
        static void methodCW(string str)
        {
    
    
            Console.WriteLine("这是一个字符串:" + str);
        }
        static void methodCW(int a)
        {
    
    
            Console.WriteLine("这是一个整形数字:" + a);
        }

プログラム実行の出力結果は以下のとおりです。ここに画像の説明を挿入
出力結果から、異なるメソッド本体が実行されていることがわかります。

3.パラメータ修飾子

(1)ref参照パラメータは
、実際のパラメータ自体を操作する必要がある場合に使用されます

        //ref 是引用变量地址,而普通的参数 int a 只是复制传入的实参,无法直接对变量本身进行更改
        static void ExChange(ref int a, ref int b)
        {
    
    
            int temp = a;
            a = b;
            b = temp;
        }

(2)out出力パラメーターは、
主に複数の戻り値を取得するために使用され、メソッドが戻る前に割り当てる必要があります。これ
により、C#メソッドが1つの戻り値しか持てないという問題が解決されます。

        static void Main(string[] args)
        {
    
    
            int s;
            int c = methodaa(5, 6, out s);//调用时,s 无需赋值
            Console.WriteLine(c+","+s);
        }
        //out 修饰符 也是引用变量地址
        //并且out 参数,在方法返回前必须赋值
        //这样就解决了C#方法只能有一个返回值的问题
        static int methodaa(int a, int b, out int s)
        {
    
    
            s = a + b;
            return a - b;
        }

(3)paramsパラメータ配列
を実現できます。パラメータはいくつでも渡すことができ、パラメータの数に制限はありません。

        static void Main(string[] args)
        {
    
    
            float sum = GetSum(2, 1.2f, 3.1f);
        }
        static float GetSum(params float[] array)
        {
    
    
            float sum = 0;
            for (int i = 0; i < array.Length; i++)
            {
    
    
                sum += array[i];
            }
            return sum;
        }

おすすめ

転載: blog.csdn.net/qq_40385747/article/details/109048821