Jump構文(break, continue, return)を理解しよう!

[C#] Jump構文(break, continue, return)を理解しよう!

※ 当サイトは広告を含みます。

ここではC#のJump(break, continue, return, goto)構文について学びましょう。
ただし、goto構文だけは特殊なので別枠で解説します。

Jump statement (ステートメント)

その名前の通り別の位置にジャンプしたり処理を抜けるための構文です。
実はこれ、すでに半分は学習済みです。では、順番に見てみましょう。

break statement (ステートメント)

switch文やfor文を抜けるために使いましたよね。

continue statement (ステートメント)

これはfor文やwhile文の繰り返し処理で使いました。

return statement (ステートメント)

ここからが今回の本題ですね。returnとは関数自体を抜けるために使います。
関数?と思うでしょうが、今もMain関数を利用してますよ。

このreturnですが、呼び出された時点でその関数の処理をやめて即時終了します。
そして、breakと異なり関数内のどこでも利用できます。まずはサンプルコードの動作を見てみましょう。


namespace Sample
{
  internal class Program
  {
    static void Main(string[] args)
    {
      Console.WriteLine("開始");

      return; // ここをコメントアウトしてみよう

      Console.WriteLine("終了");
    }
  }
}

挙動を確認するためにreturnをコメントアウトしてみましょう。
その場合は後半まで処理が進んで終了が表示されます。

では、まだ分からないかもですがMain関数以外のパターンも体験しましょう。
同じくreturnをコメントアウトすることも忘れずに。


namespace Sample
{
  internal class Program
  {
    static void Main(string[] args)
    {
      Console.WriteLine("Main: 開始");

      Function(); // 後述した static void Function() に飛ぶ
      Function(); //   〃
      Function(); //   〃
      Function(); //   〃
      Function(); //   〃

      Console.WriteLine("Main: 終了");
    }

    static void Function()
    {
      Console.WriteLine("Function: 開始");

      return; // ここをコメントアウトしてみよう。

      Console.WriteLine("Function: 終了");
    }
  }
}
管理人
管理人

returnの有無で関数の後半がスキップされるのが分かったでしょうか。
このようにreturnが呼ばれた時点で、その関数は処理を終了します。

りさ
りさ

Main関数でreturnした場合はどこに進んでるんですか?

管理人
管理人

Main関数の始まりから終わりまでがプログラムになるんだ。
つまりreturnで抜けるってことは、その時点でプログラムを終了するってことだね。

TipsMain関数でreturnするとプログラムが終了する。

あとがき

returnでプログラムが終了してるのは、今はMain関数しか使ってないからです。
この仕組みはとても大切なので、勘違いしないようにしてください。

◆ C#に関する学習コンテンツ

この記事は参考になりましたか?

関連記事

コメント

この記事へのコメントはありません。