TOC

This article is currently in the process of being translated into Korean (~98% done).

Control Structures:

The switch statement

switch문은 if문의 모음같은 느낌이에요.가능성의 리스트죠.각각 가능성마다 행동을 넣고,기본 행동을 설정할 수 있어요.혹시나 설정해놓은 가능성들이 모두 거짓일 수도 있으니까요.간단한 switch문은 이렇게 생겼어요:

int number = 1;
switch(number)
{
    case 0:
Console.WriteLine("The number is zero!");
break;
    case 1:
Console.WriteLine("The number is one!");
break;
}

체크할 대상은 switch 키워드 뒤에 둡니다.그 다음에는 case문의 리스트가 있죠,case문은 체크 대상과 주어진 값을 비교합니다.각각 case뒤에 break문이 있는 것을 눈치 챘을거에요.C#은 블럭이 끝나기 전에 나가는 것을 요구하기 때문이에요.만약 당신이 함수를 작성하고 있다면,당신은 break문 대신 return문을 써야 해요.

이 예제에서,우리는 정수를 씁니다.그러나 우리는 문자열을 쓸 수도 있고,다른 종류일 수도 있죠.또한 당신은 여러 case를 위해 같은 행동을 설정해둘 수 있습니다.우리는 이것을 다음 예제에서 해볼 것이에요.다음 예제에서는 우리는 유저에게서 입력을 받아 switch문에서 처리해 볼거에요.

Console.WriteLine("Do you enjoy C# ? (yes/no/maybe)");
string input = Console.ReadLine();
switch(input.ToLower())
{
    case "yes":
    case "maybe":
Console.WriteLine("Great!");
break;
    case "no":
Console.WriteLine("Too bad!");
break;
}

이 예제에서,우리는 유저에게 질문을 합니다.그리고 그들이 yes,no나 maybe를 쓰라고 권유하죠.그리고 우리는 유저의 입력을 읽어요.그리고 그것을 위한 switch문을 만들죠.유저를 위해,입력값이 소문자 입력값인지 확인하기 전에,우리는 입력값을 모두 소문자로 바꿔요.그래서 유저가 대문자로 입력하든 소문자로 입력하든 차이가 없게 되죠.

여전히,유저가 오타를 쓰거나 전혀 다른값을 썼을 수도 있겠죠.그런 상황에는,어떠한 출력값도 우리의 switch문에 의해 나오지 않게 될거에요.이럴때,default문을 쓰죠.

Console.WriteLine("Do you enjoy C# ? (yes/no/maybe)");
string input = Console.ReadLine();
switch(input.ToLower())
{
    case "yes":
    case "maybe":
Console.WriteLine("Great!");
break;
    case "no":
Console.WriteLine("Too bad!");
break;
    default:
Console.WriteLine("I'm sorry, I don't understand that!");
break;
}

만약에 어떠한 case문도 참이 나오지 않으면,default문이 있다면,default문이 실행 될겁니다.이것은 선택 사항이에요.우리가 저번 예제에서 봤던 것처럼요.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!