산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

C# switch 문 마스터하기: 문법, 예제, 모범 사례

C# switch 문

복잡한 if-else 체인을 깔끔하고 읽기 쉬운 switch 문으로 대체하는 방법을 실전 예제와 함께 알아봅니다.

switch 문은 단일 식을 평가하여 일치하는 case 블록을 실행함으로써 의사결정을 단순화합니다. 긴 if-else 사다리보다 간결하고 유지보수하기 쉽습니다.

기본 구조:

switch (variableOrExpression) {
    case value1:
        // value1일 때 코드
        break;
    case value2:
        // value2일 때 코드
        break;
    // …
    default:
        // 어떤 case도 일치하지 않을 때 코드
}

식과 일치하는 case가 실행되며, break를 만나면 switch를 빠져나갑니다. 일치하는 case가 없으면 default 블록이 실행되어 else 역할을 합니다.

break 없이 실행되면 "fall through"되어 후속 case로 이어지는데, 이는 버그 원인이 되곤 합니다. break 문에 대한 깊은 내용은 공식 문서의 C# break 문을 참조하세요.


예제 1: 모음 판별

using System;
namespace Conditional {
    class SwitchCase {
        public static void Main(string[] args) {
            char ch;
            Console.WriteLine("Enter an alphabet");
            ch = Convert.ToChar(Console.ReadLine());
            switch(Char.ToLower(ch)) {
                case 'a':
                    Console.WriteLine("Vowel");
                    break;
                case 'e':
                    Console.WriteLine("Vowel");
                    break;
                case 'i':
                    Console.WriteLine("Vowel");
                    break;
                case 'o':
                    Console.WriteLine("Vowel");
                    break;
                case 'u':
                    Console.WriteLine("Vowel");
                    break;
                default:
                    Console.WriteLine("Not a vowel");
                    break;
            }
        }
    }
}

실행 결과:

Enter an alphabet X
Not a vowel

사용자 입력을 소문자로 변환하여 모음 case와 매칭. 모음이 아니면 default 메시지 출력.

모든 모음 case가 같은 동작을 하므로 그룹화할 수 있습니다:


예제 2: Case 그룹화

using System;
namespace Conditional {
    class SwitchCase {
        public static void Main(string[] args) {
            char ch;
            Console.WriteLine("Enter an alphabet");
            ch = Convert.ToChar(Console.ReadLine());
            switch(Char.ToLower(ch)) {
                case 'a':
                case 'e':
                case 'i':
                case 'o':
                case 'u':
                    Console.WriteLine("Vowel");
                    break;
                default:
                    Console.WriteLine("Not a vowel");
                    break;
            }
        }
    }
}

출력은 동일하지만 코드가 훨씬 깔끔합니다.

switch 문은 특정 데이터 타입만 지원합니다:


예제 3: 간단한 계산기

using System;
namespace Conditional {
    class SwitchCase {
        public static void Main(string[] args) {
            char op;
            double first, second, result;
            Console.Write("Enter first number: ");
            first = Convert.ToDouble(Console.ReadLine());
            Console.Write("Enter second number: ");
            second = Convert.ToDouble(Console.ReadLine());
            Console.Write("Enter operator (+, -, *, /): ");
            op = (char)Console.Read();
            switch(op) {
                case '+':
                    result = first + second;
                    Console.WriteLine("{0} + {1} = {2}", first, second, result);
                    break;
                case '-':
                    result = first - second;
                    Console.WriteLine("{0} - {1} = {2}", first, second, result);
                    break;
                case '*':
                    result = first * second;
                    Console.WriteLine("{0} * {1} = {2}", first, second, result);
                    break;
                case '/':
                    result = first / second;
                    Console.WriteLine("{0} / {1} = {2}", first, second, result);
                    break;
                default:
                    Console.WriteLine("Invalid Operator");
                    break;
            }
        }
    }
}

실행 예:

Enter first number: -13.11
Enter second number: 2.41
Enter operator (+, -, *, /): *
-13.11 * 2.41 = -31.5951

두 피연산자와 연산자를 입력받아 switch로 연산 수행. 입력은 ReadLine()과 Read() 사용. 입출력詳細は C# 기본 입출력 참조.

if-else 체인으로 대체 가능하지만, switch는 의도가 명확하고 이산 값에 대해 더 빠른 실행을 제공합니다.

C 언어

  1. 스위치 회로: 기본 전기 회로 실용 가이드
  2. 정류 다이오드 실험: 네온 램프로 유도 킥백 억제
  3. 전기 스위치 이해: 유형, 기능, 응용
  4. 기계식 스위치 접점 바운스 제거
  5. 멀티미터: 아날로그에서 디지털까지 - 종합 가이드
  6. C# break 문: 사용법과 활용 시점 완벽 가이드
  7. C# continue 문: 루프 반복 건너뛰기 완벽 활용법
  8. 파이썬 pass 문 마스터하기: 실전 가이드
  9. C++ switch-case 마스터하기: 문법, 활용법, 실전 예제
  10. C 기초 문법 마스터: 토큰, 세미콜론, 주석, 식별자, 키워드, 공백