Compartir a través de


Información detallada: utilizar Select Case para decidir entre varias opciones

Actualización: noviembre 2007

En esta lección, aprenderá a utilizar la instrucción Select Case para ejecutar código basado en múltiples condiciones.

En la lección anterior, se mostró cómo usar las instrucciones If...Then para ejecutar diferentes bloques de código según las condiciones. Aunque es posible evaluar más de dos condiciones en una instrucción If...Then mediante la palabra clave ElseIf, la instrucción Select Case proporciona una manera mucho mejor de evaluar varias condiciones.

La instrucción Select Case permite utilizar tantas condiciones (o casos) como sea necesario, y conviene escribir el código para situaciones en las que hay muchas opciones. Por ejemplo, suponga que el programa utilizó una variable String para almacenar una opción de color y se necesitaba obtener el valor de color. El código para la instrucción Select Case podría ser similar al siguiente:

Select Case Color
  Case "red"
      MsgBox("You selected red")
  Case "blue"
      MsgBox("You selected blue")
  Case "green"
      MsgBox("You selected green")
End Select

Cuando se ejecuta este código, la línea Select Case determina el valor (Color) de la expresión. Suponga que Color es una variable String y que esta variable es un parámetro para un método que contiene la instrucción Select Case. El valor de Color se compara con el valor para la primera instrucción Case. Si el valor coincide, se ejecuta la siguiente línea de código y el código pasa a la línea End Select; si el valor no coincide, se evalúa la siguiente línea Case.

La instrucción Case adopta muchas formas distintas; en el ejemplo anterior es String. Pero puede ser cualquier tipo de datos o expresión.

Puede evaluar un intervalo de números utilizando la palabra clave To, como sigue:

Case 1 To 10

En este ejemplo, cualquier número entre 1 y 10 será una coincidencia.

También puede evaluar varios valores en una sola instrucción Case separándolos con comas de la siguiente forma:

Case "red", "white", "green"

En este ejemplo, cualquiera de los tres valores producirá una coincidencia.

También puede utilizar operadores de comparación y la palabra clave Is para evaluar los valores de la siguiente manera.

Case Is > 9

En este ejemplo, cualquier número mayor que 9 provocará una coincidencia.

Case Else

El ejemplo anterior funciona cuando conoce todas las condiciones posibles, pero ¿qué sucede si hay una condición con la que no contaba? Por ejemplo, si el valor de Color es yellow, el código simplemente evaluará los tres casos sin encontrar una coincidencia y no se mostrará ningún cuadro de mensaje.

La instrucción Case Else se puede utilizar para ejecutar el código cuando no se encuentra ninguna coincidencia, como en el siguiente ejemplo.

Select Case Color
  Case "red"
      MsgBox("You selected red")
  Case "blue"
      MsgBox("You selected blue")
  Case "green"
      MsgBox("You selected green")
  Case Else
      MsgBox("Please choose red, blue, or green")
End Select

En el código anterior, si el valor de Color es yellow el código lo comparará con las primeras tres líneas Case sin encontrar una coincidencia. Cuando se llega a la línea Case Else, se ejecuta la siguiente línea de código antes de pasar a End Select.

Para utilizar la instrucción Select Case

  1. En el menú Archivo, seleccione Nuevo proyecto.

  2. En el cuadro de diálogo Nuevo proyecto, en el panel Plantillas, haga clic en Aplicación para Windows.

  3. En el cuadro Nombre, escriba SelectCase y haga clic en Aceptar.

    Se abre un nuevo proyecto de formularios Windows Forms.

  4. En el Cuadro de herramientas, arrastre un control TextBox y un control Button al formulario.

  5. Haga doble clic en el botón para abrir el Editor de código.

  6. En el controlador de eventos Button1_Click, escriba el siguiente código.

    Dim Number As Integer = CInt(Textbox1.Text)
    Select Case Number
      Case 1
          MsgBox("Less than 2")
      Case 2 To 5
          MsgBox("Between 2 and 5")
      Case 6, 7, 8
          MsgBox("Between 6 and 8")
      Case 9 To 10
          MsgBox("Greater than 8")
      Case Else
          MsgBox("Not between 1 and 10")
    End Select
    
  7. Presione F5 para ejecutar el programa.

  8. En el cuadro de texto, escriba un número y haga clic en el botón.

    Aparecerá un cuadro de mensaje que muestra el mensaje de la instrucción Case que coincide con el número que ha especificado.

Pasos siguientes

En este tema, aprendió a utilizar la instrucción Select Case para elegir entre varias condiciones. Ahora puede continuar con la siguiente lección, "Qué hacer cuando algo sale mal: control de errores".

Siguiente lección: Qué hacer cuando algo sale mal: control de errores

Vea también

Tareas

Qué hacer cuando algo sale mal: control de errores

Hacer que un programa elija entre dos posibilidades: la instrucción If...Then

Referencia

Instrucción Select...Case (Visual Basic)