Blazor에서는 switch 표현식을 사용할 수 없습니다(때때로) | Steven Giesel


Blazor에서 Switch 표현식 사용 시 발생하는 문제

이 글은 Blazor에서 switch 표현식을 사용할 때 발생하는 컴파일 오류에 대해 설명합니다. Blazor는 소스 생성기를 통해 Razor 파일을 C# 코드로 변환하는데, switch 표현식과 함께 사용할 때 문제가 발생합니다.

주요 문제는 < 3 => "< 3"과 같이 < 기호로 시작하는 패턴을 사용할 때 Razor 파서가 이를 HTML 태그나 컴포넌트로 인식하여 구문 분석 오류가 발생한다는 것입니다.

해결방법으로는:

  1. 기존의 if-else 문 사용
  2. switch 문 사용
  3. 첫 번째 패턴을 괄호로 감싸기
  4. _ and < 3 같은 형태로 작성하기

결론적으로 Blazor 자체가 switch 표현식을 지원하지 않는 것이 아니라, 특정 구문(<로 시작하는 패턴) 때문에 파싱 문제가 발생하는 것으로 밝혀졌습니다.