c# switch 예제

위의 switch 문 흐름 차트를 관찰하면 switch 문의 프로세스 흐름이 위에서 아래로 시작하고 첫 번째 경우 식 값이 일치하는지 여부를 확인합니다. 스위치 케이스는 goto를 사용하여 다른 케이스위로 이동할 수 있습니다. switch 문을 사용하면 값 목록에 대해 같음으로 변수를 테스트할 수 있습니다. 각 값을 대/소문자라고 하며, 전환중인 변수는 각 스위치 케이스에 대해 확인됩니다. C #의 스위치 문에 대한 구문은 다음과 같습니다 – 스위치 문은 스위치의 끝에 나타나야하는 선택적 기본 대/소문자를 가질 수 있습니다. 기본 대/소문자는 사례가 true인 경우 작업을 수행하는 데 사용할 수 있습니다. c#에서 다른 switch 문 내에서 하나의 스위치 문을 사용하여 중첩된 스위치 사례 문이라고 합니다. 스위치 문에서 중단 대신 goto 문을 사용할 수도 있습니다. 일반적으로 break 문을 사용하여 switch 문을 종료합니다. 그러나 경우에 따라 기본 문을 실행해야 하므로 goto 문을 사용합니다.

switch 문에서 기본 조건을 실행할 수 있습니다. goto 문은 C# 프로그램의 레이블이 지정된 위치로 이동하는 데도 사용됩니다. 기본 대/소문자는 switch 문의 순서에 따라 나타날 수 있습니다. 소스 코드의 순서에 관계없이 모든 대/소문자 레이블이 평가된 후에는 항상 마지막으로 평가됩니다. 스위치 내에서 원하는 수의 대/소문자 문을 가질 수 있습니다. 각 케이스 뒤에는 비교할 값과 콜론이 뒤따릅니다. 중첩된 스위치 문은 외부 스위치 케이스 내부에 내부 스위치 문을 작성하여 C#에서 허용됩니다. switch 문에는 임의의 수의 스위치 섹션이 포함될 수 있으며 각 섹션에는 다음 예제와 같이 하나 이상의 대/소문자 레이블이 있을 수 있습니다. 그러나 두 대/소문자 레이블에는 동일한 식이 포함될 수 없습니다. Shape 개체가 null인지 여부를 테스트하려고 시도하는 예제의 when 절은 실행되지 않습니다. null을 테스트할 올바른 형식 패턴은 대/소문자 null:입니다. 그러나 C# 7.0에서는 다른 패턴이 지원되므로 대/소문자 레이블이 상호 배타적인 값을 정의할 필요가 없으며 여러 패턴이 일치식과 일치할 수 있습니다.

일치 하는 패턴을 포함 하는 첫 번째 스위치 섹션의 문만 실행 되므로 표시 하는 경우 문이 표시 되는 순서가 중요 합니다. C#이 이전 명령문 또는 문이 이전 문의 하위 집합과 동일하거나 하위 집합인 스위치 섹션을 감지하면 컴파일러 오류 인 CS8120이 “스위치 사례는 이미 이전 사례에서 처리되었습니다.” c#에서 switch 문을 사용 하 여, 우리는 의 기능을 대체할 수 있습니다. else if 문이 코드에 대해 더 나은 가독성을 제공합니다. 위의 구문에 따라 switch 문에는 괄호로 표현식이 포함되어 있습니다. 또한 각 케이스가 특정 리터럴 값을 나타내는 여러 대/소문자 레이블도 포함됩니다. 스위치 케이스는 특정 사례의 실행을 중지하는 break 키워드로 분리됩니다. 또한 스위치에는 식을 만족하는 대/소문자 값이 없는 경우 실행하는 기본 사례가 포함될 수 있습니다. switch 문 및 패턴 일치에 대한 자세한 내용은 패턴 일치와 스위치 문 섹션을 참조하십시오. switch 문에는 문자열, bool, int, 열거형, char 등과 같은 모든 데이터 형식의 식 또는 변수가 포함될 수 있습니다. 이 요구 사항은 일반적으로 중단, goto 또는 return 문을 사용하여 스위치 섹션을 명시적으로 종료하여 충족됩니다. 그러나 다음 코드는 프로그램 컨트롤이 기본 스위치 섹션으로 넘어갈 수 없기 때문에 유효합니다.

각 스위치 섹션전에 두 개 이상의 케이스 라벨이 있을 수 있습니다. 이러한 스위치 섹션은 케이스 레이블이 값과 일치하는 경우 실행됩니다. 설명: 위의 프로그램에서goto 문은 switch 문에 사용됩니다. 여기서 먼저 경우 2, 즉 Bonjour는 스위치가 인사말의 값을 포함하기 때문에 인쇄된 후, 고토 문으로 인해 컨트롤이 케이스 3으로 전송되므로 Namaste를 인쇄하고 마지막으로 컨트롤을 기본 조건으로 전송하고 Ente를 인쇄합니다. 빨간색 값은 2입니다.