2010-04-15 15 views

Respuesta

48
Select Case True 
    Case commentStr.Contains("10") 
     'foo 
    Case commentStr.Contains("15") 
     'bar 
End Select 

Tenga en cuenta que con esta construcción, se ejecutará un máximo de uno Case.

(Nótese también que sus amigos C# no pueden hacer esto con switch, que requiere expresiones constantes en las cláusulas case :))

+0

Grandes, esto funciona perfectamente y me hizo golpear mi cabeza y decir " Duh !!! " – Lou

+0

Quizás porque esta sintaxis es equivalente a una serie de 'if's en C# y ser capaz de hacer lo mismo con un' switch' sería superfluo. En C# las sentencias 'switch' están muy optimizadas y, por lo tanto, solo permiten valores constantes. No sé si es lo mismo en VB. –

+0

En mi humilde opinión esto está retorciendo 'Seleccionar caso' demasiado lejos. Una serie de declaraciones 'If' sería más legible, la misma cantidad de código y (lo pronostico) igual de eficiente. – MarkJ

Cuestiones relacionadas