Informazioni dettagliate: utilizzo dell'istruzione Select Case per la scelta tra più possibilità
Aggiornamento: novembre 2007
In questa lezione verrà descritto come utilizzare l'istruzione Select Case per eseguire codice in base a più condizioni.
Nella lezione precedente è stato illustrato come utilizzare le istruzioni If...Then per eseguire blocchi di codice diversi in base alle condizioni. Nonostante in un'istruzione If...Then sia possibile valutare più di due condizioni tramite l'utilizzo della parola chiave ElseIf, l'istruzione Select Case è più adatta a questo scopo.
L'istruzione Select Case consente di specificare un numero qualsiasi di condizioni o casi ed è quindi particolarmente indicata per la scrittura di codice in situazioni in cui le possibilità di scelta sono numerose. Si supponga, ad esempio, di avere inserito una variabile String in un programma per l'archiviazione del valore relativo al colore e di voler recuperare tale valore. Il codice dell'istruzione Select Case sarà simile a quello riportato di seguito:
Select Case Color
Case "red"
MsgBox("You selected red")
Case "blue"
MsgBox("You selected blue")
Case "green"
MsgBox("You selected green")
End Select
Quando viene eseguito questo codice, la riga Select Case determina il valore (Color) dell'espressione. Si supponga che Color sia una variabile String e che questa variabile sia un parametro di un metodo contenente l'istruzione Select Case. Il valore di Color verrà confrontato con il valore della prima istruzione Case. Se i valori corrispondono, verrà eseguita la riga di codice successiva, quindi il codice passerà alla riga End Select. Se i valori non corrispondono, verrà valutata la riga Case successiva.
L'istruzione Case supporta diversi formati. Nell'esempio precedente è stato utilizzato il tipo di dati String, ma è possibile specificare un tipo di dati o un'espressione qualsiasi.
Per valutare un intervallo di numeri è possibile utilizzare la parola chiave To, come illustrato di seguito:
Case 1 To 10
In questo esempio qualsiasi numero compreso tra 1 e 10 verrà considerato una corrispondenza.
È inoltre possibile valutare più valori in una singola istruzione Case utilizzando come separatore la virgola, come illustrato di seguito:
Case "red", "white", "green"
In questo esempio uno qualsiasi dei tre valori verrà considerato una corrispondenza.
Per valutare i valori, è anche possibile utilizzare gli operatori di confronto e la parola chiave Is, come illustrato di seguito.
Case Is > 9
In questo esempio qualsiasi numero maggiore di 9 verrà considerato una corrispondenza.
Case Else
L'esempio sopra riportato può essere utilizzato quando si conoscono tutte le possibili condizioni. È tuttavia possibile che si verifichi una condizione della quale non si era tenuto conto. Se ad esempio il valore di Color è yellow, il codice valuterà solo i tre casi indicati senza trovare una corrispondenza e non verrà visualizzata alcuna finestra di messaggio.
L'istruzione Case Else consente di eseguire codice quando non viene trovata una corrispondenza come illustrato nel seguente esempio.
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
Se il valore di Color è yellow, il codice sopra riportato confronterà tale valore con le prime tre righe Case senza trovare una corrispondenza. Quando verrà raggiunta la riga Case Else, verrà eseguita la riga di codice successiva prima di passare a End Select.
Per utilizzare l'istruzione Select Case
Scegliere Nuovo progetto dal menu File.
Nel riquadro Modelli della finestra di dialogo Nuovo progetto fare clic su Applicazione Windows.
Digitare SelectCase nella casella Nome, quindi scegliere OK.
Verrà aperto un nuovo progetto Windows Form.
Dalla Casella degli strumenti trascinare un controllo TextBox e un controllo Button nel form.
Fare doppio clic sul pulsante per aprire l'editor di codice.
Nel gestore eventi Button1_Click digitare il codice riportato di seguito.
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
Premere F5 per eseguire il programma.
Digitare un numero nella casella di testo, quindi fare clic sul pulsante.
Verrà visualizzata una finestra di messaggio contenente il testo appropriato per l'istruzione Case corrispondente al numero immesso.
Passaggi successivi
In questo argomento è stato descritto come utilizzare l'istruzione Select Case per effettuare una scelta in base a più condizioni. A questo punto è possibile proseguire con la lezione successiva "Definizione del codice per la gestione degli errori".
Lezione successiva: Definizione del codice per la gestione degli errori
Vedere anche
Attività
Definizione del codice per la gestione degli errori
Scelta tra due possibilità: istruzione If...Then