Casino online











Mercato forex






A11. Il costrutto Select Case


Abbiamo visto nel capitolo precedente come si possa far processare al computer un controllo per verificare certe condizioni. Supponiamo, ora, di avere 20 controlli di uguaglianza del tipo:
'...
If A = 1 Then
  'istruzioni
End If
If A = 2 Then
  'istruzioni
End If
If A = 3 Then
  'istruzioni
End If
'eccetera 
In questo caso la struttura If diventa non solo noiosa, ma anche ingombrante e disordinata. Per eseguire questo tipo di controlli multipli esiste un costrutto apposito, Select Case, che ha questa sintassi:
'...
Select Case [Nome variabile da analizzare]
  Case [valore1]
    'istruzioni
  Case [valore2]
    'istruzioni
  Case [valore3]
    'istruzioni
End Select 
Questo tipo di controllo rende molto più lineare, semplice e veloce il codice sorgente. Inoltre, lungi dallo sminuire le sue potenzialità, si possono usare anche degli Or tra un case e l'altro, ad esempio così:
Select Case A
  Case 1 Or 2 Or 3
    'istruzioni
  Case 4, 6, 7  'Un'altra versione possibile
    'istruzioni
End Select 
Un esempio:
Module Module 1
  Sub Main()
    Dim a, b As Double
        Dim C As Byte

        Console.WriteLine("Inserire due numeri: ")
        a = Console.ReadLine
        b = Console.ReadLine
        Console.WriteLine("Inserire 1 per calcolare la somma, 2 per " & _
		la differenza, 3 per il prodotto, 4 per il quoziente:")
        C = Console.ReadLine

        Select Case C
            Case 1
                Console.WriteLine(a + b)
            Case 2
                Console.WriteLine(a - b)
            Case 3
                Console.WriteLine(a * b)
            Case 4
                Console.WriteLine(a / b)
        End Select

        Console.ReadKey()
    End Sub
End Module 
Molto semplice, ma anche molto efficace, specialmente utile nei programmi in cui bisogna considerare parecchi valori. Una versione arricchita di Select consente anche di valutare se il valore considerato è maggiore o minore di un dato numero, usando l'operatore Is:
Select Case A
    Case Is <= 5
        'A è minore o uguale a 5
    Case Is > 5
        'A è maggiore di 5
End Select






 

The Totem's Lair - Copyright (C) 2009
È vietata la riproduzione sia totale che parziale del sito.