Menu
Coddy logo textTech

Jump Statements (goto)

Coddy C# 여정의 논리 및 흐름 섹션에 포함된 레슨 — 66개 중 20번째.

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라는 이름의 메서드를 생성하세요. 이 메서드는 하나의 인수를 받습니다:

  • 처리할 명령어를 포함하는 문자열(command)입니다.

이 메서드는 goto 문을 사용하여 간단한 명령어 프로세서를 구현해야 합니다:

  • 명령어가 "start"인 경우, "Starting process"를 출력한 후 "end" 레이블로 이동하세요
  • 명령어가 "stop"인 경우, "Stopping process"를 출력한 후 "end" 레이블로 이동하세요
  • 명령어가 "pause"인 경우, "Pausing process"를 출력한 후 "end" 레이블로 이동하세요
  • 명령어가 그 외의 것인 경우, "Unknown command"를 출력한 후 "end" 레이블로 이동하세요
  • "end" 레이블에서 “Command processed”를 출력하세요

치트 시트

goto 문은 동일한 메서드 내의 레이블이 지정된 문으로 제어를 직접 전달합니다.

레이블 생성:

start:

goto를 사용하여 레이블로 점프:

goto start;

goto를 사용하여 루프 생성 예제:

int i = 0;

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

C#에는 goto가 존재하지만, 코드 가독성과 유지보수성을 위해 구조화된 제어 흐름 문(if, for, while 등)이 일반적으로 권장됩니다.

직접 해보기

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실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

논리 및 흐름의 모든 레슨