1. Switch문이란 ?
Switch 는 조건문의 일종으로, 특정 변수의 값에 따라 분기할 때 사용한다.
여러 개의 if - else if 문을 연속해서 사용하는 것보다 코드를 더 간결하고 효율적으로 만들 수 있다.
char op = '+';
int a = 3, b = 4;
switch (op)
{
case '+':
Console.WriteLine(a + b);
break;
case '-':
Console.WriteLine(a - b);
break;
case '*':
Console.WriteLine(a * b);
break;
default:
Console.WriteLine("지원하지 않는 연산자");
break;
}
기본적으로 위와 같이 switch ( 피연산자 : 변수 / 값 / 표현식) 으로 분류를 할 값을 선택한다.
이후 , 각 case 를 값과 매칭시켜 동일하다면 case의 식을 실행시킨다.
break는 실행이 되었다면, 아래로 계속 실행되는 것을 막기 위한 방지턱이다.
Default는 모든 case가 맞지 않을때 실행된다.
2. 다른 표현 방법 ( C# 8.0+)
값을 반환시킬 때 사용할 수 있는 간결한 방식이 있다.
int Operate(int a, int b, char op) =>
op switch
{
'+' => a + b,
'-' => a - b,
'*' => a * b,
_ => 0
};
항상 값을 반환시켜야 한다.
case를 생략하고, => 의 우측에 반환시킬 값을 위치시킨다.
_는 Default 값이다.
여러 값을 한 번에 매칭시킬 수도 있다.
op switch
{
'+' or '-' => a + b, // + 또는 -일 때
'*' => a * b,
_ => 0
};
조건부로 값을 매칭시킬 수도 있다.
int Sign(int x) =>
x switch
{
> 0 => 1,
0 => 0,
< 0 => -1
};
int result = (a, b) switch
{
( > 0, > 0 ) => 1, // 둘 다 양수
( < 0, < 0 ) => -1, // 둘 다 음수
_ => 0
};
참고 자료 :
if 및 switch 문 - 실행할 코드 경로 선택 - C# reference
'if' 및 'switch' 문은 C#에서 분기 논리를 제공합니다. 'if, 'else' 및 'switch'를 사용하여 프로그램이 따르는 경로를 선택합니다.
learn.microsoft.com
https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/statements/selection-statements
if and switch statements - select a code path to execute - C# reference
The `if` and `switch` statements provide branching logic in C#. You use `if, `else` and `switch` to choose the path your program follows.
learn.microsoft.com
'개념공부 > 자투리 지식' 카테고리의 다른 글
| IComparable<T> (2) | 2025.07.23 |
|---|---|
| Unity Layer, LayerMask, 비트 연산 (0) | 2025.07.09 |
| 유니티에서의 null ( feat. fake null ) (3) | 2025.07.08 |
| Unity에서 비트 연산을 사용한 레이어 감사 방법 (0) | 2025.04.28 |