Procedura: testare più valori di un'espressione (Visual Basic)

Quando la stessa espressione viene confrontata con più valori differenti, è possibile utilizzare la costruzione Istruzione Select...Case (Visual Basic) in alternativa alla costruzione Istruzione If...Then...Else (Visual Basic) |. Mentre con le istruzioni If ed ElseIf è possibile valutare un'espressione diversa in ogni istruzione, l'istruzione Select consente di valutare un'unica espressione una sola volta e di utilizzarla per ogni confronto.

Per valutare un'espressione una volta e verificare diversi valori

  • Utilizzare la costruzione Select...Case per specificare l'espressione e i valori da verificare. Ogni istruzione Case può contenere uno o più valori, un intervallo di valori o una combinazione di valori e operatori di confronto. È possibile utilizzare un'istruzione Case Else per gestire tutti i valori non verificati dalle precedenti istruzioni Case. Nell'esempio che segue vengono illustrate queste possibilità.

    Function bonus(ByVal performance As Integer, 
                   ByVal salary As Decimal) As Decimal
        Select performance
            Case 1
                Return salary * 0.1
            Case 2, 3
                Return salary * 0.09
            Case 5 To 7
                Return salary * 0.07
            Case 4, 8 To 10
                Return salary * 0.05
            Case Is < 15
                Return 100
            Case Else
                Return 0
       End Select
    End Function
    

    In Visual Basic il valore dell'espressione viene confrontato con i valori delle istruzioni Case in base all'ordine in cui sono riportati nella costruzione Select...Case. Se viene rilevata una corrispondenza o un'istruzione Case Else, viene eseguito il blocco di istruzioni corrispondente. In ogni caso crea un ramo verso l'istruzione successiva all'istruzione End Select.

    È possibile avere un numero qualsiasi di istruzioni Case nonché includere o omettere un'istruzione Case Else indipendentemente dalla presenza di istruzioni Case.

Un esempio di codice per la costruzione Select...Case è anche disponibile come frammento di codice IntelliSense. Nella casella di selezione dei frammenti di codice si trova in Linguaggio Visual Basic. Per ulteriori informazioni, vedere Procedura: inserire frammenti di codice IntelliSense.

Vedere anche

Attività

Procedura: trasferire un controllo fuori da una struttura di controllo (Visual Basic)

Procedura: eseguire istruzioni in base a una o più condizioni (Visual Basic)

Procedura: mantenere il controllo quando si verifica un errore (Visual Basic)

Concetti

Strutture decisionali (Visual Basic)

Strutture di ciclo (Visual Basic)

Altre strutture di controllo (Visual Basic)

Strutture di controllo annidate (Visual Basic)

Altre risorse

Flusso di controllo in Visual Basic