Exit Select를 사용해야하는 이유는 무엇입니까?
-
20-09-2019 - |
문제
Exit Select와 관련하여 수집 한 몇 가지 질문이 있습니다 ...
- vb.net에서 Exit Select를 사용하는 이유가 있습니까?
- 그 이유는 성능과 관련이 있습니까?
- 출구 선택이 동일합니다
break;
?
예 1
Select case Name
case "Mary"
'...
case "John"
'...
case else
end select
예 2
Select case Name
case "Mary"
'...
exit select
case "John"
'...
exit select
case else
end select
해결책
사용하는 것과 동일하지 않습니다 break
키워드 switch
C와 같은 언어의 진술. a switch
, 브레이크 컨트롤을 생략하면 다음 경우로 떨어질 것입니다. 시각적 기본으로 Select
, 통제는 넘어지지 않습니다. ㅏ break
이미 암시되어 있습니다.
그러나 다른 레벨의 코드를 if
차단하다. 예를 들어:
Select Case SomeEnumVar
Case SomeEnum.SomeValue1
If Not SomeCondition Then Exit Select
'Do something
Case SomeEnum.SomeValue2
'Do something else
Case Else
'Default case
End Select
이 동등한 코드보다 조금 더 좋습니다.
Select Case SomeEnumVar
Case SomeEnum.SomeValue1
If SomeCondition Then
'Do something
End If
Case SomeEnum.SomeValue2
'Do something else
Case Else
'Default case
End Select
이 두 샘플 간의 성능 차이는 다른 요인에 비해 거의 확실하지 않습니다.
또 다른 용도는 많은 경우가 있고 사례 중 하나가 배치되어 경기가 다른 모든 것을 확인하는 것을 중지하고 싶다는 것을 의미합니다. 이것은 이미 발생하므로 빈 사례 진술이있을 수 있습니다. 그러나이 사건이 다른 일을하지 않을 것으로 기대하는 관리자에게 명확하게 설명하기 위해 출구 선택을 추가 할 수도 있습니다.
다른 팁
글쎄 ... 그것은 goto를 사용하는 것과 같습니다 ... 일단 올바른 케이스를 찾으면 Visual Basic에서는 사례를 "종료"하는 데 아무 소용이 없습니다. C#에서는 케이스를 종료해야합니다 (이 경우 휴식을 취하면).
요점은 케이스 범위의 중간에 다음과 같은 것과 같은 것을 사용할 수 있다는 것입니다.
Case 1
Do something
Do something
Evaluate
exit select
Else
Do something
못 생겼지 만 그렇게 할 수 있습니다 ...
제휴하지 않습니다 StackOverflow