Menu
Coddy logo textTech

ジャンプ文(goto)

CoddyのC#ジャーニー「ロジックとフロー」セクションの一部。レッスン 20/66。

C# の goto ステートメントは、同じメソッド内のラベル付きステートメントに直接制御を移す方法を提供します。

コード内にラベルを作成します:

start:

goto ステートメントを使用して、そのラベルにジャンプします:

goto start;

gotoを使ってループを作成する簡単な例を見てみましょう。

int i = 0;

start:
if (i < 5)
{
    Console.WriteLine(i);
    i++;
    goto start;
}

上記のコードを実行すると、出力は次のようになります:

0
1
2
3
4

C# には goto が存在しますが、コードをより読みやすく保守しやすくするため、代わりに構造化された制御フロー文(if、for、while など)を使用することが一般的に推奨されます。

challenge icon

チャレンジ

簡単

ProcessCommandsという名前のメソッドを作成し、1つの引数を受け取るようにします。

  • 処理するコマンドを含む文字列(command)。

このメソッドでは、goto文を使用して単純なコマンドプロセッサを実装します。

  • コマンドが "start" の場合は、"Starting process" と出力してから "end" ラベルに移動します
  • コマンドが "stop" の場合は、"Stopping process" と出力してから "end" ラベルに移動します
  • コマンドが "pause" の場合は、"Pausing process" と出力してから "end" ラベルに移動します
  • コマンドがそれ以外の場合は、"Unknown command" と出力してから "end" ラベルに移動します
  • "end" ラベルでは、“Command processed” と出力します

自分で試してみよう

using System;

public class Program
{
    public static void ProcessCommands(string command)
    {
        // ここにコードを書いてください
    }
    
    public static void Main(string[] args)
    {
        string command = Console.ReadLine();
        ProcessCommands(command);
    }
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

ロジックとフローのすべてのレッスン

自分で練習してみよう: C#オンラインコンパイラ