Visual Basic
    • TUTORIAL
    • ESEMPI
    • RIFERIMENTI
    il mio computer

OPERATORI DI CONFRONTO

Gli operatori di confronto comprendono tre tipi, gli operatori che confrontano i numeri, quelli che confrontano le stringhe ed infine quelli che confrontano gli oggetti.

Confronto di valori numerici

Visual Basic usa sei operatori di confronto numerici. Ogni operatore accetta due espressioni che restituiscono un valore booleano, true o false (vero o falso). La tabella seguente elenca gli operatori e mostra esempi di ciascuno di essi.

Operatore Condizione Esempi
= (uguale) Se il valore della prima espressione è uguale al valore della seconda espressione viene restituito true, altrimenti false. 10=10  ' true
10=12  ' false
<> (diverso) Se il valore della prima espressione è diverso dal valore della seconda espressione viene restituito true, altrimenti false. 10<>12  ' true
10<>10  ' false
< (minore) Se il valore della prima espressione è minore del valore della seconda espressione viene restituito true, altrimenti false. 5<8   ' true
8<5   ' false
> (maggiore) Se il valore della prima espressione è maggiore del valore della seconda espressione viene restituito true, altrimenti false. 8>5   ' true
5<8   ' false
<= (minore o uguale) Se il valore della prima espressione è minore o uguale al valore della seconda espressione viene restituito true, altrimenti false. 10<=12  ' true
12<=10  ' false
10<=10  ' true
>= (maggiore o uguale) Se il valore della prima espressione è maggiore o uguale all valore della seconda espressione viene restituito true, altrimenti false. 10>=12  ' false
12>=10  ' true
10>=10  ' true

Confronto di stringhe

Visual Basic confronta le stringhe usando l' operatore Like , nonché gli operatori di confronto numerici. L'operatore Like confronta una stringa con un modello. La stringa viene quindi confrontata con il modello e, se corrisponde, il risultato sarà True, in caso contrario, il risultato sarà False. Gli operatori numerici consentono di confrontare i tipi String in base al relativo ordinamento, nell'esempio riportato di seguito si può capire meglio.

"345" < "57"       ' restituisce True
"345" < "23"       ' restituisce False

In realtà il numero 345 è maggiore di 55, ma siccome in questo caso si stanno confrontando stringhe il primo numero della prima stringa è 3 ed il primo numero della seconda stringa è 5, quindi essendo 3 minore di 5 il confronto termina quì con la restituzione del risultato come True. Se il primo numero della prima stringa fosse stato uguale al primo numero della seconda stringa  il confronto sarebbe proseguito sul secondo numero delle due stringhe. Se invece il primo numero della prima stringa fosse stato maggiore del primo numero della seconda stringa il confronto sarebbe terminato con la restituzione di False. Tutto questo perchè i due operandi sono stati forniti come tipo stringa.

Come possiamo vedere nell'esempio sottostante è anche possibile confrontare l'uguaglianza tra due stringhe.

"255" = "255"     ' restituisce True
"255" = "200"     ' restituisce False

Operatore Like

Il comportamento dell'operatore Like dipende dall'istruzione Option Compare. Il metodo di confronto predefinito per ogni file di origine è Option Compare Binary (confronto binario). L'altro metodo di confronto è Option Compare Text (confronto testuale). Quì sotto è spiegata la sintassi.

Operatore Like copia

dove risultato rappresenta una variabile boolean che contienerà o True o False, stringa è la stringa che sarà confrontata con pattern. Se stringa è uguale a pattern a risultato sarà assegnato True, in caso contrario False. Se stringa e pattern sono entrambe stringhe vuote a risultato sarà assegnato True.

E' inoltre possibile usare caratteri speciali nella definizione della stringa pattern, questi caratteri speciali sono elencati sotto.

Carattere speciale Descrizione Esempio
? Qualsiasi carattere singolo "ancora" Like "an?ora"   ' True
"anfora" Like "an?ora"    ' True
* Zero o più caratteri     "capra" Like "capr*"     ' True
"caprone Like "capr*"      ' True
# Qualsiasi cifra singola (0-9)  "albero55bello" Like "albero#5bello"  ' True 
[charlist] Qualsiasi carattere singolo in charlist  
[!charlist] Qualsiasi carattere singolo non presente in charlist