[C#] switch에 class name 같은 스트링 말고, 클래스 자체를 입력하는 방법

switch문에서 클래스 이름과 같은 스트링 변수가 아니라 클래스 자체를 사용하려면 다음과 같이 진행해 보세요. case 문에서 해당 타입을 명시하고 변수를 사용하는 방법입니다.

switch (parameter)
{
    case ClassName classInstance:
        // ClassName 타입인 경우 실행될 코드
        break;
    case AnotherClass anotherInstance:
        // AnotherClass 타입인 경우 실행될 코드
        break;
    default:
        // 기본 실행 코드
        break;
}

여기서 parameterClassName 타입이면 classInstance라는 이름으로 객체가 생성되고, 이 객체에 대해 추가적인 작업을 할 수 있습니다.

이 방식으로 타입을 직접 비교하여 클래스 인스턴스의 타입에 따라 분기 처리가 가능합니다~

스트링으로 설정하였을 때, 네임 등이 변경되는 경우, 해당 참조까지는 바뀌지가 않기에 간혹 스위치가 엉뚱하게 분기되는 현상을 막을 수 있어요~

댓글 쓰기
가져가실 때, 출처 표시 부탁드려요! 감사합니다. 💗