Perché dovrei usare uscita selezionare?
-
20-09-2019 - |
Domanda
Qui ci sono un paio di domande ho raccolto per quanto riguarda l'uscita di selezionare ...
- C'è un motivo per utilizzare l'uscita di selezione in VB.NET?
- Ha la ragione ha a che fare con le prestazioni?
- è l'uscita selezionare pari a
break;
?
Esempio 1
Select case Name
case "Mary"
'...
case "John"
'...
case else
end select
Esempio 2
Select case Name
case "Mary"
'...
exit select
case "John"
'...
exit select
case else
end select
Soluzione
Non è lo stesso che utilizza la parola chiave break
con le dichiarazioni switch
dai linguaggi C-like. Con un switch
, se si omette il controllo rottura cadrà fino al prossimo caso. Con un Select
Visual Basic, il controllo non rientra attraverso; un break
è già implicita.
Tuttavia, è possibile utilizzarlo come una clausola di guardia, per evitare la necessità di codice nido altro livello in un blocco if
. Ad esempio:
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
Questo è un po 'più bello di questo codice equivalente:
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
Qualsiasi differenza di prestazioni tra questi due campioni è quasi certamente insignificante rispetto ad altri fattori.
Un altro utilizzo è se avete un sacco di casi, e uno dei casi è posizionato in modo che una partita vuol dire che si desidera interrompere il controllo di tutti gli altri. Questo accade già, e così si potrebbe semplicemente avere una dichiarazione di caso vuoto lì. Ma si potrebbe anche aggiungere un Esci Seleziona per far capire ai manutentori che vi aspettate questo caso di non fare altro.
Altri suggerimenti
Beh ... E 'come usare un goto ... Una volta trovato il caso corretto non v'è alcuna utilità nel "uscire" il caso, poiché in Visual Basic sarà uscire. In C # è necessario uscire il caso (in questo caso, con una pausa).
Il punto è che si può utilizzare nel bel mezzo del campo di applicazione di un caso, qualcosa come:
Case 1
Do something
Do something
Evaluate
exit select
Else
Do something
E 'brutto, ma si può fare che ...