while visual sub net for español vb.net select-case

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

  1. ¿Hay alguna razón para usar exit select en VB.NET?
  2. ¿El motivo tiene algo que ver con el rendimiento?
  3. 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.