c# 기본문법

c# switch case

yoon-record 2023. 7. 5. 00:16

switch case 문의 다양한 사용법에 대해 자세히 알아보겠습니다.

switch case 문은 변수가 가질 수 있는 값들을 비교하여 실행할 코드를 선택하는 구문입니다.

 

switch 문은 다음과 같이 작성할 수 있습니다.

switch (변수명)
{
    case1:
        // 코드
        break;
    case2:
        // 코드
        break;
    default:
        // 코드
        break;
}

위의 코드에서 변수명은 switch 문에 전달할 변수의 이름입니다.

값1, 값2 등은 변수명이 가질 수 있는 값들입니다.

default는 변수명이 가질 수 있는 값들 중에서 어떤 것과도 일치하지 않을 때 실행됩니다.

각 case 문마다 실행할 코드를 작성하고 마지막에 break 문을 써서 switch 문을 빠져나옵니다.

만약 break 문을 쓰지 않으면 다음 case 문으로 넘어가게 됩니다.

 

다음은 switch case 문의 다양한 사용입니다.

switch (변수명)
{
    case1:
        // 코드
        break;
    case2:
        // 코드
        goto case1;
    case3 when 조건식:
        // 코드
        break;
    case4 when 조건식:
    case5 when 조건식:
        // 코드
        break;
    default:
        // 코드
        break;
}

goto 키워드를 사용하여 다른 case 문으로 이동할 수 있습니다.
when 키워드를 사용하여 조건식을 추가할 수 있습니다.
여러 개의 값을 한 번에 처리할 수 있습니다.
참고로 goto 키워드는 프로그램의 흐름을 복잡하게 만들기 때문에 사용을 지양하는 것이 좋습니다.

 

예제

using System;

namespace test
{
    class Program
    {
        static void Main(string[] args)
        {
            for (int i = 0; i <14; i++)
            {
                string output = MonthToSeason(i);
                Console.WriteLine(i.ToString() + "월은 " + output + " 입니다"); 
            }
        }
        static public string MonthToSeason(int month)
        {
            string season;
            switch (month)
            {
                case 12:
                case 1:
                case 2:
                    //코드
                    season = "겨울";
                    break;
                case 3:
                case 4:
                case 5:
                    // 코드
                    season = "봄";
                    break;
                case 6:
                case 7:
                case 8:
                    // 코드
                    season = "여름";
                    break;
                case 9:
                case 10:
                case 11:
                    // 코드
                    season = "가을";
                    break;
                default:
                    // 코드
                    season = "Error";
                    break;
            }
            return season;
        }
    }
}

 

결과

0월은 Error 입니다
1월은 겨울 입니다
2월은 겨울 입니다
3월은 봄 입니다
4월은 봄 입니다
5월은 봄 입니다
6월은 여름 입니다
7월은 여름 입니다
8월은 여름 입니다
9월은 가을 입니다
10월은 가을 입니다
11월은 가을 입니다
12월은 겨울 입니다
13월은 Error 입니다