メソッドのサンプル
色々なサンプルを確認して、メソッドを理解しましょう。
メソッドとは、関連のある処理をまとめたものです。
これまでは、Mainメソッドに全てのコードを記述していましたが、色々なことを実行させようとすると、ひたすら長いコードを入力するしかなく次第に見づらくなってきます。そこで、関連のあるまとまった処理を別に分けることで整理をします。
ブラウザで、リンクをクリックするとリンク先にジャンプしますよね。そこには関連のある内容が記載されているはずです。イメージはそんな感じです。
メソッドの種類
戻り値なし、引数なしのメソッド
コンソールに表示するだけなど、一方通行の処理、やりとりが必要ない処理の場合に使用します。次は、Main()メソッドからWalk()メソッドを呼び出している例になります。Walk()メソッドが完了すると、Main()メソッドに処理が戻ってきます。
表示
歩く
呼び出す側は、
メソッド名();
呼び出したいメソッド名を記述します。
メソッド側は、
void メソッド名()
{
// ここにコードを記述
}
と記述する決まりになっています。
voidは、呼び出し側に何も返さない場合に記述します。
戻り値なし、引数ありのメソッド
コンソールに表示するだけだけど、何を表示するかを呼び出し元から指定したい場合など、メソッド側に指示する処理の場合に使用します。次は、Main()メソッドからWalk()メソッドを呼び出している例になります。
表示
歩く
呼び出す側は、
メソッド名(受け渡すもの);
受け渡すものは、ここでは、"歩く"になります。
メソッド側は、
void メソッド名(もらう型名 もらうもの)
{
// ここにコードを記述
}
もらう型名は、"歩く"なので、stringですね。
もらうものは、変数を指定します。この変数は、このメソッド内で使います。
これを引数と言います。ここで宣言されているため、改めてブロック内で宣言する必要はありません。
戻り値あり、引数ありのメソッド
メソッドに何か処理をさせ、その結果が欲しい場合に使います。次は、Main()メソッドからWalk()メソッドを呼び出している例になります。
表示
Walk
呼び出す側は、
メソッド名(受け渡すもの);
受け渡すものは、ここでは、"歩く"になります。
同じですね。ただし、メソッド側から結果をもらえるので、それを受け入れる変数を用意します。
この例では、result変数です。型名stringで宣言しています。宣言と同時に代入のパターンですね。
最後は、WriteLine()で表示しています。メソッドがら結果をもらっているので、Mainメソッド側で表示ができるのです。
メソッド側は、
結果の型 メソッド名(もらう型名 もらうもの)
{
// ここにコードを記述
return 返す値
}
戻り値(返り値)ありの場合は、voidではなく、結果の型を記述します。文字列を返しますので、stringですね。
また、返す値は、ブロック内で、returnの続いて記述します。
色々なサンプル
戻り値なし、引数なしのメソッド
サンプルコード1
static void Main(string[] args)
{
TwoTimes1();
}
// 2を2倍した結果を表示するメソッド
static void TwoTimes1()
{
int ret = 2 * 2;
Console.WriteLine($"TwoTime1メソッドの呼び出し {ret}");
}
表示
TwoTime1メソッドの呼び出し 4
呼び出し元
TwoTimes1();
()が特徴です。ただ呼び出すのみ。
メソッド側
void TwoTimes1()
こちらも()が特徴。ブロック内を実行しますが、他の影響を受けません。
戻り値なし、引数ありのメソッド
サンプルコード2
static void Main(string[] args)
{
TwoTimes1(2);
}
// 引数を2倍した結果を表示するメソッド
private static void TwoTimes1(int a)
{
int ret = a * 2;
Console.WriteLine($"TwoTime1メソッドの呼び出し {ret}");
}
表示
TwoTime1メソッドの呼び出し 4
呼び出し元
TwoTimes1(2);
(2)が特徴です。メソッド側に2を渡します。
メソッド側
void TwoTimes1(int a)
こちらは(int a)が特徴。変数aに呼び出し元からもらった値が代入されています。この変数aは、メソッドのブロック内でのみ利用できます。
戻り値あり、引数ありのメソッド
サンプルコード3
static void Main(string[] args)
{
int answer = TwoTimes1(2);
Console.WriteLine($"TwoTime1メソッドの呼び出し {answer}");
}
// 引数を2倍した結果を戻り値とするメソッド
private static int TwoTimes1(int a)
{
int ret = a * 2;
return ret;
}
表示
TwoTime1メソッドの呼び出し 4
呼び出し元
int answer = TwoTimes1(2);
answer変数にメソッドの結果をが代入されます。2をメソッドに渡して呼び出し、戻された結果がanswer変数に代入されます。
メソッド側
int TwoTimes1(int a)
// 戻すときは、次のように returnの後に戻したい内容を記述します。
return ret;
変数aに呼び出し元からもらった値が代入され、計算結果をint型で戻します。
サンプルコード4
static void Main(string[] args)
{
int answer = TwoTimes1(2, 3);
Console.WriteLine($"TwoTime1メソッドの呼び出し {answer}");
}
// 引数2つの掛け算した結果を戻り値とするメソッド
private static int TwoTimes1(int a, int b)
{
int ret = a * b;
return ret;
}
表示
TwoTime1メソッドの呼び出し 6
呼び出し元
int answer = TwoTimes1(2, 3);
answer変数にメソッドの結果をが代入されます。2と3をメソッドに渡して呼び出し、戻された結果がanswer変数に代入されます。
メソッド側
int TwoTimes1(int a, int b)
// 戻すときは、次のように returnの後に戻したい内容を記述します。
return ret;
変数a、変数bに呼び出し元からもらった値が代入され、計算結果をint型で戻します。
サンプルコード5
static void Main(string[] args)
{
string answer = TwoTimes1("太郎");
Console.WriteLine(answer);
}
// 引数をもとに「あなたの名前は」「です」を追加した結果を戻すメソッド
static string TwoTimes1(string a)
{
string ret = $"あなたの名前は{a}です";
return ret;
}
表示
あなたの名前は太郎です
呼び出し元
string answer = TwoTimes1("太郎");
answer変数にメソッドの結果をが代入されます。"太郎"をメソッドに渡して呼び出し、戻された結果がanswer変数に代入されます。
メソッド側
string TwoTimes1(string a)
// 戻すときは、次のように returnの後に戻したい内容を記述します。
return ret;
変数aに呼び出し元からもらった値が代入され、結果をstring型で戻します。
ディスカッション
コメント一覧
まだ、コメントがありません