Operatori di confronto in Visual Basic
Gli operatori di confronto consentono di confrontare due espressioni e di ottenere un valore Boolean che rappresenta la relazione esistente tra i valori delle espressioni. Esistono operatori per il confronto di valori numerici, operatori per il confronto di stringhe e operatori per il confronto di oggetti. Di seguito vengono esaminati i tre tipi di operatori.
Confronto di valori numerici
Visual Basic confronta i valori numerici mediante sei operatori di confronto numerico. Ciascun operatore considera come operandi due espressioni che restituiscono valori numerici. Nella tabella riportata di seguito vengono elencati gli operatori e vengono visualizzati esempi per ciascuno di essi.
Operatore |
Condizione verificata |
Esempi |
---|---|---|
= (uguaglianza) |
Il valore della prima espressione è uguale al valore della seconda? |
23 = 33 ' False 23 = 23 ' True 23 = 12 ' False |
<> (diseguaglianza) |
Il valore della prima espressione è diverso dal valore della seconda? |
23 <> 33 ' True 23 <> 23 ' False 23 <> 12 ' True |
< (minore di) |
Il valore della prima espressione è minore del valore della seconda? |
23 < 33 ' True 23 < 23 ' False 23 < 12 ' False |
> (maggiore di) |
Il valore della prima espressione è maggiore del valore della seconda? |
23 > 33 ' False 23 > 23 ' False 23 > 12 ' True |
<= (minore o uguale a) |
Il valore della prima espressione è minore o uguale al valore della seconda? |
23 <= 33 ' True 23 <= 23 ' True 23 <= 12 ' False |
>= (maggiore o uguale a) |
Il valore della prima espressione è maggiore o uguale al valore della seconda? |
23 >= 33 ' False 23 >= 23 ' True 23 >= 12 ' True |
Confronto di stringhe
Visual Basic confronta le stringhe mediante l'operatore Like (operatore) (Visual Basic) e utilizzando gli operatori di confronto numerico. L'operatore Like consente di specificare un modello. La stringa quindi viene confrontata con il modello e, in caso di corrispondenza, il risultato è True. In caso contrario, il risultato sarà False. Gli operatori numerici consentono di confrontare valori String in base al relativo tipo di ordinamento, come illustrato nell'esempio seguente.
"73" < "9"
' The result of the preceding comparison is True.
Il risultato dell'esempio precedente è True perché il primo carattere della prima stringa, secondo l'ordinamento, precede il primo carattere della seconda stringa. Se i primi caratteri fossero uguali, verrebbe eseguito il confronto con il carattere successivo di entrambe le stringhe e così via. È possibile anche verificare l'uguaglianza delle stringhe per mezzo dell'operatore di uguaglianza, come indicato nell'esempio seguente.
"734" = "734"
' The result of the preceding comparison is True.
Se una stringa è il prefisso di un'altra, come nel caso di "aa" e "aaa", la stringa più lunga viene considerata maggiore di quella più corta. Questa condizione è illustrata nell'esempio che segue.
"aaa" > "aa"
' The result of the preceding comparison is True.
Il criterio di ordinamento verrà basato su un confronto binario o un confronto testuale, a seconda dell'impostazione di Option Compare. Per ulteriori informazioni, vedere Istruzione Option Compare.
Confronto di oggetti
Visual Basic confronta due variabili di riferimento a oggetti mediante gli operatori Operatore Is (Visual Basic) e Operatore IsNot (Visual Basic). È possibile utilizzare uno di questi operatori per stabilire se due variabili di riferimento si riferiscono alla stessa istanza di un oggetto. Questa condizione è illustrata nell'esempio che segue.
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 True, perché entrambe le variabili fanno riferimento alla stessa istanza. Si confronti questo risultato con il seguente esempio.
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é, sebbene le variabili si riferiscano a oggetti dello stesso tipo, fanno riferimento a istanze diverse di quel tipo.
Quando si desidera effettuare un controllo su due oggetti che non puntano alla stessa istanza, l'operatore IsNot consente di evitare una combinazione grammaticalmente impropria di Not e Is. Questa condizione è illustrata nell'esempio che segue.
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 è equivalente a If Not a Is b.
Confronto del tipo di oggetto
Per verificare se un oggetto è di un particolare tipo, utilizzare l'espressione TypeOf...Is. La sintassi è la seguente:
TypeOf <objectexpression> Is <typename>
Quando l'oggetto typename specifica un tipo di interfaccia, l'espressione TypeOf...Is restituisce True se l'oggetto implementa il tipo di interfaccia. Quando l'oggetto typename è un tipo di classe, l'espressione restituisce True se l'oggetto è un'istanza della classe specificata o di una classe da essa derivata. Questa condizione è illustrata nell'esempio che segue.
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 ulteriori informazioni, vedere Operatore TypeOf (Visual Basic).
Vedere anche
Riferimenti
Operatori di confronto (Visual Basic)
Concetti
Confronto di valori (Visual Basic)
Operatori aritmetici in Visual Basic
Operatori di concatenazione in Visual Basic
Operatori logici e bit per bit in Visual Basic