Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# switch 문에서 문자열을 사용하는 방법


switch 문은 하나의 변수를 값 목록과 비교하여 동등성 여부를 검사할 수 있게 해주는 제어문입니다. 목록의 각 값을 case(케이스)라고 부르며, switch에 전달된 변수가 각 case와 일치하는지 순서대로 확인합니다.

예제

다음은 switch 문에서 문자열을 사용하는 예제입니다.

using System;
public class Demo {
    public static void Main(String[] args){
        string grades = "A1";
        switch (grades) {
            case "A1":
                Console.WriteLine("Very good!");
                break;
            case "A2":
                Console.WriteLine("Good!");
                break;
            case "B1":
                Console.WriteLine("Satisfactory!");
                break;
            default:
                Console.WriteLine("Invalid!");
                break;
        }
        Console.WriteLine("Grade = "+grades);
    }
}

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Very good!
Grade = A1

동작 원리

이 예제에서 문자열 변수 grades의 값은 "A1"입니다. switch 문은 이 값을 각 case 라벨과 차례대로 비교하며, "A1" case와 일치하므로 해당 블록의 Console.WriteLine("Very good!")이 실행됩니다.

  • break 문: 각 case 블록은 반드시 break로 끝나야 합니다. break가 없으면 제어 흐름이 다음 case로 이어지는 fall-through 현상이 발생할 수 있습니다.
  • default 블록: 어떤 case와도 일치하지 않는 경우 default 블록이 실행되어 예외적인 상황을 안전하게 처리합니다.
  • 대소문자 구분: C#의 switch 문에서 문자열 비교는 대소문자를 구분합니다. 즉, "a1""A1"은 서로 다른 값으로 취급됩니다. 대소문자 구분 없이 비교하려면 switch (grades.ToLower())처럼 변환 후 비교하는 방법을 활용할 수 있습니다.