メソッドのサンプル
色々なサンプルを確認して、メソッドを理解しましょう。
メソッドとは、関連のある処理をまとめたものです。
これまでは、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型で戻します。








ディスカッション
コメント一覧
まだ、コメントがありません