L'istruzione If in Visual Basic
L'operatore condizionale If può essere usato anche al momento dell'assegnazione di una variabile.
var = if (espressione, ris1, ris2)
L'espressione di controllo è un'espressione booleana.
- Se l'espressione è vera, allora var=ris1.
- Se l'espressione è falsa, allora var=ris2.
La differenza tra If e Iff. L'operatore If con tre argomenti valuta soltanto i primi due parametri: l'espressione e il primo risultato (ris1). Non controlla ris2. Questo approccio è detto short circuit. Si distingue dalla funzione IIf che, invece, controlla tutti i parametri. Quindi, la funzione Iff controlla anche ris2.
Un esempio pratico
In questo esempio la variabile stringa prova contiene "y" se la variabile anno è 2020. Viceversa, contiene "n"
Dim prova As String
prova = if (anno=2020, "y", "n")
Si può usare anche al momento della dichiarazione
Dim prova As String = if (anno=2020, "y", "n")
Metodo alternativo
In alternativa, posso usare l'operatore if anche senza l'espressione di controllo.
var = if (a,b)
L'assegnazione utilizza il primo argomento diverso da Nothing
- Se a<>Nothing allora var=a
- Se a=Nothing allora var=b.
Esempio
In questo caso l'assegnazione è prova="hello" perché a=Nothing.
Dim a As String = Nothing
Dim b As String = "hello"
Dim prova As String = if(a,b)
In quest'altro caso, invece, l'assegnazione è prova="ciao" perché il primo argomento è diverso da Nothing.
Dim a As String = "ciao"
Dim b As String = "hello"
Dim prova As String = if(a,b)
E così via