vb.net - sub - for each visual basic
¿Por qué debería usar exit select? (2)
Aquí hay un par de preguntas que reuní con respecto a la selección de salida ...
- ¿Hay alguna razón para usar exit select en VB.NET?
- ¿El motivo tiene algo que ver con el rendimiento?
- Es la salida seleccionar igual a
break;
?
Ejemplo 1
Select case Name
case "Mary"
''...
case "John"
''...
case else
end select
Ejemplo 2
Select case Name
case "Mary"
''...
exit select
case "John"
''...
exit select
case else
end select
Bueno ... Es como usar un goto ... Una vez que encontraste el caso correcto, no sirve de nada "salir" del caso ya que en Visual Basic se va a apagar. En C #, necesita salir de la caja (en ese caso, con un descanso).
El punto es que puede usarlo en el medio del alcance de un caso, algo así como:
Case 1
Do something
Do something
Evaluate
exit select
Else
Do something
Es feo, pero puedes hacer eso ...
No es lo mismo que utilizar la palabra clave break
con las sentencias switch
de los lenguajes tipo C. Con un switch
, si omite el control de interrupción, pasará al siguiente caso. Con una selección de Visual Basic, el control no falla; un break
ya está implícito.
Sin embargo, puede usarlo como una cláusula de guardia, para evitar la necesidad de anidar el código de otro nivel en un bloque if
. Por ejemplo:
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
Eso es un poco mejor que este código 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
Cualquier diferencia de rendimiento entre estas dos muestras es casi ciertamente insignificante en comparación con otros factores.
Otro uso es si tiene muchos casos, y uno de los casos se coloca para que una coincidencia signifique que desea dejar de verificar todos los demás. Esto ya sucede, por lo que puede tener una declaración de caso vacía allí. Pero también puede agregar una selección de salida para dejar claro a los mantenedores que espera que este caso no haga nada más.