C# - メソッド
メソッドは、一緒にタスクを実行するステートメントのグループです。すべての C# プログラムには、Main という名前のメソッドを持つクラスが少なくとも 1 つあります。
メソッドを使用するには、-
- メソッドを定義する
- メソッドを呼び出す
C# でのメソッドの定義
メソッドを定義するときは、基本的にその構造の要素を宣言します。 C# でメソッドを定義するための構文は次のとおりです-
<Access Specifier> <Return Type> <Method Name>(Parameter List) { Method Body }
以下は、メソッドのさまざまな要素です-
-
アクセス指定子 − これは、別のクラスからの変数またはメソッドの可視性を決定します。
-
戻り型 − メソッドは値を返すことがあります。戻り値の型は、メソッドが返す値のデータ型です。メソッドが値を返さない場合、戻り値の型は void です .
-
メソッド名 − メソッド名は一意の識別子であり、大文字と小文字が区別されます。クラスで宣言されている他の識別子と同じにすることはできません。
-
パラメータ一覧 − 括弧で囲まれたパラメーターは、メソッドからデータを送受信するために使用されます。パラメーター リストは、メソッドのパラメーターの型、順序、および数を参照します。パラメータはオプションです。つまり、メソッドにはパラメーターが含まれていない場合があります。
-
メソッド本体 − これには、必要なアクティビティを完了するために必要な一連の指示が含まれています。
例
次のコード スニペットは、関数 FindMax を示しています。 これは 2 つの整数値を取り、2 つのうち大きい方を返します。 public アクセス指定子を持つため、クラスのインスタンスを使用してクラス外からアクセスできます。
class NumberManipulator { public int FindMax(int num1, int num2) { /* local variable declaration */ int result; if (num1 > num2) result = num1; else result = num2; return result; } ... }
C# でのメソッドの呼び出し
メソッドの名前を使用してメソッドを呼び出すことができます。次の例はこれを示しています-
ライブデモusing System; namespace CalculatorApplication { class NumberManipulator { public int FindMax(int num1, int num2) { /* local variable declaration */ int result; if (num1 > num2) result = num1; else result = num2; return result; } static void Main(string[] args) { /* local variable definition */ int a = 100; int b = 200; int ret; NumberManipulator n = new NumberManipulator(); //calling the FindMax method ret = n.FindMax(a, b); Console.WriteLine("Max value is : {0}", ret ); Console.ReadLine(); } } }
上記のコードをコンパイルして実行すると、次の結果が生成されます −
Max value is : 200
クラスのインスタンスを使用して、他のクラスから public メソッドを呼び出すこともできます。たとえば、メソッド FindMax NumberManipulator に属しています クラス、別のクラス Test から呼び出すことができます .
ライブデモusing System; namespace CalculatorApplication { class NumberManipulator { public int FindMax(int num1, int num2) { /* local variable declaration */ int result; if(num1 > num2) result = num1; else result = num2; return result; } } class Test { static void Main(string[] args) { /* local variable definition */ int a = 100; int b = 200; int ret; NumberManipulator n = new NumberManipulator(); //calling the FindMax method ret = n.FindMax(a, b); Console.WriteLine("Max value is : {0}", ret ); Console.ReadLine(); } } }
上記のコードをコンパイルして実行すると、次の結果が生成されます −
Max value is : 200
再帰メソッド呼び出し
メソッドは自分自身を呼び出すことができます。これは再帰として知られています .以下は、再帰関数を使用して特定の数値の階乗を計算する例です-
ライブデモusing System; namespace CalculatorApplication { class NumberManipulator { public int factorial(int num) { /* local variable declaration */ int result; if (num == 1) { return 1; } else { result = factorial(num - 1) * num; return result; } } static void Main(string[] args) { NumberManipulator n = new NumberManipulator(); //calling the factorial method {0}", n.factorial(6)); Console.WriteLine("Factorial of 7 is : {0}", n.factorial(7)); Console.WriteLine("Factorial of 8 is : {0}", n.factorial(8)); Console.ReadLine(); } } }
上記のコードをコンパイルして実行すると、次の結果が生成されます −
Factorial of 6 is: 720 Factorial of 7 is: 5040 Factorial of 8 is: 40320
メソッドにパラメーターを渡す
パラメーターを持つメソッドが呼び出されると、メソッドにパラメーターを渡す必要があります。パラメータをメソッドに渡すには 3 つの方法があります −
Sr.No. | メカニズムと説明 |
---|---|
1 | 値パラメータ このメソッドは、引数の実際の値を関数の仮パラメーターにコピーします。この場合、関数内のパラメーターに加えられた変更は、引数には影響しません。
|
2 | 参照パラメータ このメソッドは、引数のメモリ位置への参照を仮パラメータにコピーします。これは、パラメーターに加えられた変更が引数に影響することを意味します。
|
3 | 出力パラメータ このメソッドは、複数の値を返すのに役立ちます。
|
C言語