Domanda

Qui ci sono un paio di domande ho raccolto per quanto riguarda l'uscita di selezionare ...

  1. C'è un motivo per utilizzare l'uscita di selezione in VB.NET?
  2. Ha la ragione ha a che fare con le prestazioni?
  3. è 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
È stato utile?

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 ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top