C#のメソッドパラメータとは?基本構文とサンプルコードをわかりやすく解説
C#におけるメソッドのパラメータ(引数)は、メソッドにデータを渡したり、メソッドからデータを受け取ったりするために使用されます。ここでは、メソッド定義を構成する各要素の役割を確認したうえで、実際のコード例を見ていきましょう。
メソッド定義の構成要素
- アクセス修飾子(Access Specifier) − 変数やメソッドが他のクラスからどこまで参照できるか(可視性)を決定します。
- 戻り値の型(Return Type) − メソッドは処理結果として値を返すことができます。戻り値の型とは、その返す値のデータ型のことです。何も値を返さない場合は void を指定します。
- メソッド名(Method Name) − メソッドを識別するための一意の名前です。大文字と小文字が区別され、同じクラス内に宣言された他の識別子と重複する名前は付けられません。
- パラメータリスト(Parameter List) − 括弧()で囲まれた部分で、メソッドとの間でデータを受け渡すために使われます。パラメータリストとは、パラメータの「型・順序・個数」を指します。パラメータは省略可能であり、パラメータを一切持たないメソッドも定義できます。
- メソッド本体(Method Body) − 目的の処理を実行するために必要な一連の命令が記述される部分です。
サンプルコード
それでは、2つの整数のうち大きい方の値を返すメソッドの例を見てみましょう。
using System;
public class NumberManipulator {
public int FindMax(int num1, int num2) {
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
public static void Main(string[] args) {
int a = 500;
int b = 750;
int ret;
NumberManipulator n = new NumberManipulator();
ret = n.FindMax(a, b);
Console.WriteLine("Max value = " + ret);
}
}
この例では、FindMax メソッドが int 型のパラメータを2つ受け取り、比較結果の大きい方の値を戻り値として返します。Main メソッド内では、変数 a と b の値を引数として FindMax に渡し、その戻り値を変数 ret に格納してコンソールに出力しています。
実行結果
このプログラムを実行すると、次の出力が得られます。
Max value = 750
-
C#のparams配列を使ってメソッドに可変長の引数を渡す方法
メソッドを宣言するとき、実際にいくつの引数が渡されるのか事前には分からないケースがあります。こうした場面で役立つのが、C#のparams配列(パラメーター配列)です。paramsキーワードを使えば、呼び出し側が任意の個数の引数を渡せる柔軟なメソッドを定義できます。paramsキーワードの基本的な書き方paramsキーワードは、以下のように配列型の仮引数の前に記述します。public int AddElements(params int[] arr) { }このように宣言されたメソッドは、int型の値をいくつでもカンマ区切りで受け取ることができます。サンプルコード次の例では、params配列を使
-
RubyのArray#zipメソッド徹底解説!2つの配列をスマートに結合する方法
2つの配列を要素ごとに比較して、その違いを見つけたいと思ったことはありませんか? あるいは、各インデックスごとに最大の数値を求めたい、キーのリストと値のリストを組み合わせてハッシュを作りたい――そんな場面にも出会うことがあるでしょう。 …これを「面倒な方法」で実装すると、次のようなコードになります。 例:冗長な書き方 a = [1,2,3,4,5] b = [1,2,3,6,8] c = a.map.with_index { |_, idx| [a[idx], b[idx]] } # [[1, 1], [2, 2], [3, 3], [4, 6], [5, 8]] 確かに動作はしますが