여러 경우가 switch 문
떨어질 수 있는 방법이 여러 사건을 통해 밝히지 않은 채 '케이스' 제표를 값: 반복적으로?
그러니까말이야 가능합니다.
switch (value)
{
case 1:
case 2:
case 3:
//do some stuff
break;
case 4:
case 5:
case 6:
//do some different stuff
break;
default:
//default stuff
break;
}
하지만 이 같은 일이 I& # 39; d like to do.
switch (value)
{
case 1,2,3:
//Do Something
break;
case 4,5,6:
//Do Something
break;
default:
//Do the Default
break;
}
39 에서 m thinking of I& 로만스였나 구문, 다른 언어, 아니면 내가 무언가 빠진?
551
17
내 생각엔 이 이미 답변됨. 그러나 여전히 두 가지 옵션을 사용할 수 있는 더 나은 방법이 수행여 구조상 있는 것 같아요.
두 번째 방법은 없는 C # 의 구문이 아니하고또 c++컴파일러는 언급되지 않았다.
39 의 there& 아무런 문제가 처음 메서드입니다. 그러나 당신은 매우 큰 범위를 사용할 경우, 그냥 일련의 명령문입니다.
이 구문은 Visual Basic 에서 [셀레스트케이스 기술서임을] (https://msdn.microsoft.com/en-us/library/cy37t14y.aspx? f = 255&, 마스페로르 = - 2147217396 # Anchor_3):
이 구문은 C # 에서 사용할 수 없습니다. 대신, 첫 번째 사례 중에서 구문을 사용해야 합니다.
하지만, 조금 늦게 I& 원래 질문은 # 39 m 이 질문에 대한 포스팅 기대 속에 사용하여 그 누군가를 새로운 버전 ( C # 7 - 기본으로 제공되는 비주얼 스튜디오에서 2017/.NET 레임워크 4.6.2), it 발견하리니 도움이 된다.
이제 7, C # 의 범위 기반 스위칭이란 작성할 수 있는 [스위치 기술서임을] [1] 와 함께 보호하리요 OP& # 39 의 문제.
줄 바꿈 아웃해야 확보할 수 있으므로 둘 수 있습니다.
하지만 난 그렇게 고려해보십시오 스타일.
.NET Framework 3.5 는 attaboy 범위:
너메라블레그레인지 MSDN 에서
" contains", 함께 사용할 수 있습니다. 와 같은 경우, 이후 SWITCH 문은 soundmixer. " = " 기술서임을 누군가 말했다. 작동자.
여기서 한 가지 예입니다.
하지만 난 더 재미있게 가능하다고 생각합니다. # 39 이 작업은 이후 너회가 won& 반환 값 # 39, t, t need doesn& 시행하십시오 매개변수입니다 작업을 편리하게 사용할 수 있습니다!
나이 들어 이런 새로운 방법:
작업 이후 틀렸다니까 반군지역 값뿐만 it& # 39 에 괄호를 생략하십시오 합니다 아니라, 매우 중요하다. 그냥 '작업' 을 하는 경우, 함수, ParameterType> Action< 유형을 변경하십시오 인수와 함께 ','. 반환 값 하는 경우, ',' Func< 파라메트리프, ReturnType> 사용합니다.
C # 3.0 손쉰운 없다 부분 응용 프로그램 에 캡슐화합니다 파라메트가 같지만 그렇지 사건을 만든 작은 도우미가 방법 (조금 자세히, 수천).
이 보다 더 강력하고 새로운 기능을 갖춘 사례를 임포트된 기술서임을 우아한 옛 불신하니 이럴 필요가 있다.
다음은 C # 완료하십시오 7 솔루션입니다.
너무 수행됨 문장열.
@ 제니퍼 오웬스냐: 아래 코드는 정말이야 won& # 39, 빗나갔다.
이렇게 할 수 있는 유일한 방법인 것입니다.
비주얼 베이직 코드를 넣을 수도 쉽게 검색할 수 있는 작업 중인 설명했습니다. # 39 의 경우, d 블록, 어느 누구도 다른 옵션을 스위치이거나 I& 매우 편리한 제안할 수 있는 점, 비주얼 베이직 및 가져오기할 http://www. 익스프림 .dll 뒤로를 데이터베이스에구성원을 c # 프로젝트.
참고: visual basic 은 avamer 스위치에서도 의 경우 선택합니다.
또 다른 옵션은 약간만이라도 사용할 수 있는 프로그램이다. 모든 건 똑같은 논리를 실행하십시오 경우 그 다음 정기 및 호출하십시오 논리는 1-3 랩 (wrap it 각 케이스. # 39, 실제로 이 doesn& 그러니까말이야 폐기할 경우 t 명령문입니다 않지만 좋은 스타일 및 유지 관리 구현하십시오 렉시한테서 최소.
[편집] [/ 편집] 뷰대체 구축현 추가되든지 일치시키려면 원래 질문.
C # 의 한 것이 상대적으로 덜 알려진 면처리 스위치 및 수 있기 때문에 오브리든 외상때문에 에서는 작동자 = 이 같은 일이.
< pre> < code>;;; 문자열 s = 푸 ();
스위치 (s) { 케이스 abc" ";: /./ 분할합니다. 케이스 def" ";: /./ 분할합니다. } < /code> < /pre>;;;
gcc 는 C 언어 순차인지 확장명으로 지원할 수 있는 범위:
< B> Edit< /B>:;;; 그냥 태그 변호사인가 도왔으매 추정되는 것을 C #, # 39 는 doesn& mgcc 오토메이티드 t help.
39, GOTO 명령을 don& 진짜 너무 마음에 it& # 39 의 공식 밀리초입니다 자료, 다음은 있지만, 모든 허용된 구문을.
만약 끝점까지의 사람들에게 목록니다 섹선에서 컴파일 타임 스위치에 연결되어, 오류가 발생합니다. 이 가을 through" " 셨노라 어떠한 널리 알려져 있다. 규칙이에요 예를 들면
사용할 수 없기 때문에 스위치였습니다 섹선에서 끝점까지의 접속할 수 있다. C 와 c++에서 실행할 수 없는, 스위치 섹선에서 달리, 가을 " through". 다음 예는 스위치였습니다 섹션 및
컴파일 타임 오류가 발생합니다. 그 뒤에 다른 스위치 (switch) 섹션은 실행할 때 실행 할 수 있는 경우 또는 이동, 고토 명시성 섹선에서 기본 기술서임을 사용해야 합니다.
여러 레이블을 스위치 섹선에서 에서 사용할 수 있습니다. 예를 들면
I believe 이번 예에서는 이동 it& # 39 의 유일한 방법은 사용할 수 있으며, 실제로 폴스러.
출처: 71%29.aspx http://msdn.microsoft.com/en-us/library/aa664749%28v = vs.
넣을 수 있는 방안을 찾기 위해 그동안 많은 작동합니까 가혹한 것 중 하나가 더 이상 또는 C # 구문을 사용하여 어떻게든 여바바 작업이 보다. Switch 문 다운로드합니까 규모의 직접 사용하는 경우는 거의 없습니다. 나라면 어떤 데이터를 분석한 결과 강하게 제안하세요 틀렸다니까 테스트 및 및끝 틀렸다니까 하늘과 땅 차이다.
예를 들어 있는 값을 알려 말하도다 테스트 할 경우 홀수들의 maxvalorarray 빠르게 볼 수 있다. 피하고 싶은 코드에 계산이므로 할 필요 없이 낭비 및 온라인 운영까지도 범위 내의 작은 소수의 목록을 찾을 수 있습니다. 각 값을 통해 알려진 홀수들의 비교하십시오 벽돌이날아와 스위치에서도 사용할 수 있습니다.
그냥 지도를 만들 수 있으며, 작은 소수의 즉각적인 결과를 어레이에서는 수도 있습니다.
아마 보고 싶은 문자열은 문자의 경우 진수. 한 대형 스위치 기술서임을 웅리 및 어느 정도 사용할 수 있습니다.
정규 표현식 기능을 사용할 수도 있습니다 챨 테스트하려면 사용하거나 IndexOf http://upload. 진수 문자를 문자열의 챨 검색합니다.
Say you want to do 값을 알려 3 따라 다른 조치를 한 것으로 maxvalorarray 1 24. 꼭 이래야겠어요 제안하세요 집합을 사용하는 경우 명령문입니다. 그리고 만약 그 comp. 너무 복잡해서 (또는 숫자임 pokemonsilver. 큰 등 5 가지 동작 범위의 값을 따라 1 부터 90) 을 사용할 이넘 정의하십시오 작업 및 생성하시겠습니까 어레이입니다 map of the 이넘. 그런 다음 가치를 위해 사용될 수 있으며, 작업의 꽂으십시오 인덱스화할 매핑해야 어레이입니다 이넘 운영까지도. 다음 중 하나를 사용할 수 있는 매우 간단한 스위치 기술서임을 처리할 수 있는 작은 세트의 경우 명령문입니다 또는 enum 값이 됩니다.
또한, 니스 (nice) 에 대해서 일정한 범위의 값을 매핑해야 어레이에서는 변환하는 작업을 쉽게 변경할 수 있다는 것이 코드를 통해. # 39 로 쉽게 변경할 수 있다 단, t 너회가 can& 하드와이어드 코드 실행 시 매핑해야 어레이에서는 쉽다.
정말 큰 양의 문자열이어야 경우 (또는 다른 유형용) 하는 것, 내가 사용하는 경우 모든 레코먼드 같은 문자열 목록을 결합하여 구체화하십시오. Map_layer 재산이잖아
그래서 같은 빅 스위치 경우 기술서임을 있습니다.
이런 경우 기술서임을 있는 바꾸시겠습니까 할 수 있습니다.
이 배율입니다 자네들이야 수에 상관없이 구체화하십시오 사례.
C # 에서 7 이제 [ 패턴 매칭 ] (https://visualstudiomagazine.com/articles/2017/02/01/pattern-matching.aspx) 할 수 있도록 다음과 같은 항목을
"'사샤프 스위치 (시대) { 경우 50: 큰 five-oh" 지브록 = ";; 브레이크. var 테스티지 사건 때 (새 List< int> ();; {cx3-80, 81, 82, 85, 86, 87, 88 84tb (83), 89}) 스콘테인스 (테스티지): 지브록 = " octogenarian";; 브레이크. var 테스티지 사건 때 (테스티지 > = 90) &. (테스티지 < = 99): 지브록 = " nonagenarian";; 브레이크. var 테스티지 사건 때 (테스티지 >, = 100): 지브록 = " centenarian";; 브레이크. 기본. 그냥 old" 지브록 = ";; 브레이크. } "'
그냥 내가 할 수 있는 대화를 통해 추가할 4.6.2 닷넷 (.net) 는 또한 다음. 내가 일을 테스트하였습니다 코드 및 it for me.
여러 " OR", 할 수도 있습니다. 명령문입니다 마찬가지로 다음과 같습니다.
경우 (value) 일치시킵니다 어레이에서는 확인할 수 있습니다.
이를 위해 사용하는 것과 goto 문. 예: