ジャンプ文(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
4C# には goto が存在しますが、コードをより読みやすく保守しやすくするため、代わりに構造化された制御フロー文(if、for、while など)を使用することが一般的に推奨されます。
チャレンジ
簡単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);
}
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
ロジックとフローのすべてのレッスン
自分で練習してみよう: C#オンラインコンパイラ