728x90
C#에서 스위치 문(switch statement)과 스위치 식(switch expression)은
조건에 따라 여러 경로 중 하나를 선택하는 데 사용되는 구조입니다.
두 가지 방식의 차이점과 사용법에 대해 설명해드릴게요.
1. 스위치 문 (Switch Statement)
스위치 문은 여러 조건을 비교하여 해당하는 특정 블록의 코드를 실행합니다. 기본 구문은 다음과 같습니다:
주로 대부분 다른언어에서도 익숙하게 사용하는 코드입니다
switch (변수)
{
case 값1:
// 값1에 해당하는 경우 실행할 코드
break;
case 값2:
// 값2에 해당하는 경우 실행할 코드
break;
default:
// 어떤 경우에도 해당하지 않는 경우 실행할 코드
break;
}
예시
int number = 2;
switch (number)
{
case 1:
Console.WriteLine("하나");
break;
case 2:
Console.WriteLine("둘");
break;
case 3:
Console.WriteLine("셋");
break;
default:
Console.WriteLine("다른 숫자");
break;
}
2. 스위치 식 (Switch Expression)
C# 8.0에서 도입된 기능으로 더 간결하고 선언적인 방식으로 조건을 처리합니다. 기본 구문은 다음과 같습니다
(각종 언어에도 추가로 생겼다)
var result = 변수 switch
{
값1 => 결과1,
값2 => 결과2,
_ => default값
};
예시
int number = 2;
string result = number switch
{
1 => "하나",
2 => "둘",
3 => "셋",
_ => "다른 숫자" //default
};
Console.WriteLine(result); // "둘" 출력
주요 차이점
- 구문: 스위치 문은 복잡한 로직을 처리에 용이, 스위치 식은 간결하게 코드 작성에 용이
- 값 반환: 스위치 식은 항상 값을 반환합니다. 반면, 스위치 문은 값 반환이 필요 없는 경우도 사용
- 패턴 매칭: 스위치 식은 패턴 매칭을 지원하여 더 복잡한 조건을 쉽게 처리
패턴 매칭 예시
object obj = "Hello";
string result = obj switch
{
string s => $"문자열: {s}",
int i => $"정수: {i}",
_ => "알 수 없는 타입"
};
Console.WriteLine(result); // "문자열: Hello" 출력
예시 2
object obj = 42;
string result = obj switch
{
int i when i > 0 => "양수",
int i when i < 0 => "음수",
int _ => "제로",
string s => $"문자열: {s}",
_ => "기타"
};
Console.WriteLine(result); // 출력: 양수
온라인 컴파일러들이 대부분 최신C#이 아니라 아래에서만 됩니다
- 해당 사이트에서는 한글이 깨집니다.
스위치식 온라인컴파일러
728x90
'3.2 .net > C#' 카테고리의 다른 글
[C#] Linq (Language Integrated Query) (0) | 2024.10.22 |
---|---|
[C#] using에 대해서 (0) | 2024.10.21 |
[C#] C#이벤트종류 (제가보려고 정리) (0) | 2024.10.08 |
[.net /C#] 대리자(delegate) (0) | 2024.09.19 |
[.net/C#] CallerMemberName (0) | 2024.09.19 |
댓글