[ 공 부 ]/[ C# ]

05장. Switch

HiStar__ 2025. 2. 23. 20:41

[2025-02-23] - 게시글 최초 작성


1. Switch 사용시 주의점!

 가능한 한 연속적인 정수형 case를 사용하여 점프 테이블 최적화를 유도.
 불필요하게 복잡한 조건을 줄이는 것이 중요하다.


2. Switch 문

2.1 형식 패턴

// To Version C# 7.3
object obj = 123;

switch (obj)
{
    case int:
        // ...
        break;
    case float:
        // ...
        break;
    default:
        break;
}

 

2.2 케이스 가드

 switch 문의 case절의 패턴을 더 구체적으로 만들어주는 추가적인 조건 검사

// To Version C# 7.3
object obj = 123;

switch (obj)
{
    case int i when i > 0:
        // ...
        break;
    case float f when f >= 0:
        // ...
        break;
    case float:
        // ...
        break;
    default:
        break;
}

 

2.2 Switch 식

 식은 결과값을 만들어낼 수 있는 연산자와 연산자의 조합 ( 결과를 내놓는다! )
 Switch 조건문 보다 간략하게 표현이 가능하다.

int score = 100;
string grade = "";
switch (score)
{
    case 90:
        grade = "A";
        break;

    case 80:
        grade = "B";
        break;

    case 70:
        grade = "C";
        break;

    case 60:
        grade = "D";
        break;

    default:
        grade = "F";
        break;
}
// To Version C# 8.0
int score = 100;
string grade = score =>
switch
{
    90 => "A",
    80 => "B",
    70 => "C",
    60 => "D",
    _ => "F"
};


3. 참고 자료

'[ 공 부 ] > [ C# ]' 카테고리의 다른 글

C# 프로그래밍 간단 정리  (1) 2025.02.19
Async / Await  (0) 2025.02.09
22장. 가비지 컬렉션  (0) 2025.01.31
21장. 네트워크 프로그래밍  (0) 2025.01.31
20장. WinForm  (0) 2025.01.30