Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Gli operatori di confronto confrontano due espressioni e restituiscono un Boolean
valore che rappresenta la relazione dei relativi valori. Sono disponibili operatori per confrontare valori numerici, operatori per il confronto di stringhe e operatori per il confronto di oggetti. Tutti e tre i tipi di operatori sono trattati qui.
Confronto di valori numerici
Visual Basic confronta i valori numerici usando sei operatori di confronto numerici. Ogni operatore accetta come operandi due espressioni che restituiscono valori numerici. Nella tabella seguente sono elencati gli operatori e vengono illustrati esempi di ognuno di essi.
Operatore | Condizione testata | Esempi |
---|---|---|
= (Uguaglianza) |
Il valore della prima espressione è uguale al valore del secondo? |
23
=
33 ' False
23
=
23 ' True
23
=
12 ' False
|
<> (Disuguaglianza) |
Il valore della prima espressione non corrisponde al valore del secondo? |
23
<>
33 ' True
23
<>
23 ' False
23
<>
12 ' True
|
< (Minore di) |
Il valore della prima espressione è minore del valore del secondo? |
23
<
33 ' True
23
<
23 ' False
23
<
12 ' False
|
> (Maggiore di) |
Il valore della prima espressione è maggiore del valore del secondo? |
23
>
33 ' False
23
>
23 ' False
23
>
12 ' True
|
<= (Minore o uguale a) |
Il valore della prima espressione è minore o uguale al valore del secondo? |
23
<=
33 ' True
23
<=
23 ' True
23
<=
12 ' False
|
>= (maggiore o uguale a) |
Il valore della prima espressione è maggiore o uguale al valore del secondo? |
23
>=
33 ' False
23
>=
23 ' True
23
>=
12 ' True
|
Confronto di stringhe
Visual Basic confronta le stringhe usando l'operatore Like e gli operatori di confronto numerici. L'operatore Like
consente di specificare un modello. La stringa viene quindi confrontata con il modello e, se corrisponde, il risultato è True
. In caso contrario, il risultato è False
. Gli operatori numerici consentono di confrontare i String
valori in base al relativo ordinamento, come illustrato nell'esempio seguente.
"73" < "9"
' The result of the preceding comparison is True.
Il risultato nell'esempio precedente è True
dovuto al fatto che il primo carattere della prima stringa viene ordinato prima del primo carattere nella seconda stringa. Se i primi caratteri sono uguali, il confronto continuerà con il carattere successivo in entrambe le stringhe e così via. È anche possibile testare l'uguaglianza delle stringhe usando l'operatore di uguaglianza, come illustrato nell'esempio seguente.
"734" = "734"
' The result of the preceding comparison is True.
Se una stringa è un prefisso di un'altra, ad esempio "aa" e "aaa", la stringa più lunga viene considerata maggiore della stringa più breve. Nell'esempio seguente viene illustrato questo.
"aaa" > "aa"
' The result of the preceding comparison is True.
L'ordinamento è basato su un confronto binario o su un confronto testuale a seconda dell'impostazione di Option Compare
. Per ulteriori informazioni, vedere Option Compare Statement.
Confronto di oggetti
Visual Basic confronta due variabili di riferimento oggetto con l'operatore Is e l'operatore IsNot. È possibile usare uno di questi operatori per determinare se due variabili di riferimento fanno riferimento alla stessa istanza dell'oggetto. Nell'esempio seguente viene illustrato questo.
Dim x As testClass
Dim y As New testClass()
x = y
If x Is y Then
' Insert code to run if x and y point to the same instance.
End If
Nell'esempio precedente, x Is y
restituisce a True
, perché entrambe le variabili fanno riferimento alla stessa istanza. Confrontare questo risultato con l'esempio seguente.
Dim x As New customer()
Dim y As New customer()
If x Is y Then
' Insert code to run if x and y point to the same instance.
End If
Nell'esempio precedente, x Is y
restituisce False
, perché anche se le variabili fanno riferimento a oggetti dello stesso tipo, fanno riferimento a istanze diverse di tale tipo.
Quando si desidera testare due oggetti che non puntano alla stessa istanza, l'operatore IsNot
consente di evitare una combinazione grammaticalmente goffa di Not
e Is
. Nell'esempio seguente viene illustrato questo.
Dim a As New classA()
Dim b As New classB()
If a IsNot b Then
' Insert code to run if a and b point to different instances.
End If
Nell'esempio precedente, If a IsNot b
equivale a If Not a Is b
.
Confronto del tipo di oggetto
È possibile verificare se un oggetto è di un particolare tipo con l'espressione TypeOf
...Is
. La sintassi è la seguente:
TypeOf <objectexpression> Is <typename>
Quando typename
specifica un tipo di interfaccia, l'espressione TypeOf
...Is
restituisce True
se l'oggetto implementa il tipo di interfaccia. Quando typename
è un tipo di classe, l'espressione restituisce True
se l'oggetto è un'istanza della classe specificata o di una classe che deriva dalla classe specificata. Nell'esempio seguente viene illustrato questo.
Dim x As System.Windows.Forms.Button
x = New System.Windows.Forms.Button()
If TypeOf x Is System.Windows.Forms.Control Then
' Insert code to run if x is of type System.Windows.Forms.Control.
End If
Nell'esempio precedente l'espressione TypeOf x Is Control
restituisce True
perché il tipo di x
è Button
, che eredita da Control
.
Per altre informazioni, vedere Operatore TypeOf.