【C#】メソッドのパラメーターと引数を初心者でもわかりやすいサンプルコード付きで解説
目次
パラメータ
パラメータと引数【C#】サンプルコード
C#のパラメーターは情報を引数としてメソッドに渡すことができます。
記述方法はカッコ内のメソッド名の後に指定して使います。
また、複数パラメーターを渡したい場合には、コンマで区切れば、必要な数だけパラメーターを追加できます。
次のサンプルでは、string型の変数fnameをパラメーターとして受け取るメソッドがあります。
メソッドが呼び出されると、フルネームが出力されます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
static void MyMethod(string fname) { Console.WriteLine("不来手九 " + fname); } static void Main(string[] args) { MyMethod("太郎"); MyMethod("一郎"); MyMethod("次郎"); } // 不来手九 太郎 // 不来手九 一郎 // 不来手九 次郎 |
固定のパラメータ【C#】サンプルコード
等符号(=)を使えば、固定のパラメーター値をメソッド内で使用する事もできます。
次のサンプルで引数なしでメソッドを呼び出すと、デフォルト値( “中国”)が出力されます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
static void CountryMethod(string country = "中国") { Console.WriteLine(country); } static void Main(string[] args) { CountryMethod("イタリア"); CountryMethod("アメリカ"); CountryMethod(); CountryMethod("日本"); } // イタリア // アメリカ // 中国 // 日本 |
複数のパラメーター【C#】サンプルコード
パラメータはコンマで区切れば、何個でも持てます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
static void AgeMethod(string fname, int age) { Console.WriteLine(fname + " は " + age+ "歳です"); } static void Main(string[] args) { AgeMethod("不来手九太郎", 35); AgeMethod("不来手九一郎", 8); AgeMethod("不来手九次郎", 5); } // 不来手九太郎 は 5歳です // 不来手九一郎 は 8歳です // 不来手九次郎 は 31歳です |
戻り値
戻り値【C#】サンプルコード
今までのサンプルでは、メソッドで値を返してませんでした。「void」というのは値を返さない場合につけます。
値を返す場合にはメソッド名の前に型「intやstring等」の名前を付け、同じ型をreturnで返します。
1 2 3 4 5 6 7 8 9 10 11 |
static int ReturnMethod(int y) { return 6 + y; } static void Main(string[] args) { Console.WriteLine(ReturnMethod(3)); } // 9 (6 + 3) |
引数が2つの場合の戻り値【C#】サンプルコード
次の例では、受け取った2つのパラメーターの合計を返します。
1 2 3 4 5 6 7 8 9 10 11 |
static int SampleMethod(int y, int z) { return y + z; } static void Main(string[] args) { Console.WriteLine(SampleMethod(6, 3)); } // 9 (6 + 3) |
戻り値を変数に格納【C#】サンプルコード
また、結果を変数に格納することもできます(読みやすく、保守しやすいため推奨されます)。
1 2 3 4 5 6 7 8 9 10 11 12 |
static int MyMethod(int a, int b) { return a + b; } static void Main(string[] args) { int c = MyMethod(6, 3); Console.WriteLine(c); } // 9 (6 + 3) |
名前付き引数
名前付き引数【C#】サンプルコード
key: value構文で引数を送信することもできます。
そうすれば、引数の順序は重要ではありません。
1 2 3 4 5 6 7 8 9 10 11 |
static void MyMethod(string child1, string child2, string child3) { Console.WriteLine("The youngest child is: " + child3); } static void Main(string[] args) { MyMethod(child3: "John", child1: "Liam", child2: "Liam"); } // The youngest child is: John |
名前付き引数【C#】サンプルコード2
名前付き引数は、デフォルト値を持つ複数のパラメーターがあり、呼び出すときにそれらの1つのみを指定する場合に特に便利です。
1 2 3 4 5 6 7 8 9 10 |
static void MyMethod(string child1 = "Liam", string child2 = "Jenny", string child3 = "John") { Console.WriteLine(child3); } static void Main(string[] args) { MyMethod("child3"); } // John |

Ryotin
現役フリーランスエンジニアです。使ってるエージェントはフライテック!得意言語はJava。月収は75万円。SESのフリーランスではこれ以上稼ぐのは厳しそう...とはいってもサラリーマンの時より倍の収入だから家族も喜んでるけどね!