C#의 Switch 문 대체
switch 문은 지정된 변수의 값에 따라 다른 코드를 실행하는 방법을 제공합니다. switch 문은 if/else if 구문에 비해 몇 가지 장점을 제공하지만 한 사례에서 다른 사례로 넘어갈 수 없다는 제한 사항 중 하나가 있습니다.
C#에서 컴파일러는 "폴스루 없음" 규칙을 적용합니다. 이는 케이스에 도달하면 실행이 다음 케이스의 시작으로 점프해야 함을 의미합니다. 이 동작은 코드 명확성을 보장하고 의도하지 않은 여러 사례 실행을 방지합니다.
switch 문을 사용하여 숫자를 단어 표현으로 변환하려고 시도하는 다음 예를 고려하십시오.
switch (number.ToString().Length) { case 3: ans += string.Format("{0} hundred and ", numbers[number / 100]); case 2: int t = (number / 10) % 10; if (t == 1) { ans += teens[number % 10]; break; } else if (t > 1) ans += string.Format("{0}-", tens[t]); case 1: int o = number % 10; ans += numbers[o]; break; default: throw new ArgumentException("number"); }
이 코드를 실행하면 컴파일러는 "컨트롤이 하나의 케이스 레이블('case 3:')에서 다른 케이스 레이블로 넘어갈 수 없습니다" 및 "컨트롤이 하나의 케이스 레이블('case 3:')에서 넘어갈 수 없음을 나타내는 오류를 생성합니다. 2:')를 다른 것으로 지정합니다."
C#에서 폴스루 동작을 달성하려면 다음 기술을 사용할 수 있습니다.
폴스루는 불분명하고 오류가 발생하기 쉬운 코드를 생성할 가능성이 있으므로 권장되지 않는다는 점에 유의하는 것이 중요합니다. 여러 조건을 확인해야 하는 경우 일반적으로 if/else 또는 기타 조건 구문을 사용하는 것이 더 좋습니다.
위 내용은 C# Switch 문이 실패할 수 있나요? 그렇다면 어떻게 해야 할까요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!