Visual Basic .NET Language
operatori
Ricerca…
Osservazioni
Gli operatori sono utilizzati per assegnare o confrontare valori. Sono costituiti da un singolo simbolo o parola chiave e di solito sono racchiusi tra un valore di sinistra e uno di destra. Ad esempio: right = left
.
Gli operatori sono intrinseci al linguaggio (come =
) e non funzioni come quelle fornite da System.Math.
Confronto
Gli operatori di confronto confrontano due valori e restituiscono un valore booleano ( True
o False
) come risultato.
Uguaglianza
- Il segno di uguale = viene usato sia per il confronto di uguaglianza che per l'assegnazione.
If leftValue = rightValue Then
...
Disuguaglianza
- La parentesi angolare sinistra nella parentesi angolare destra <> esegue un confronto non uguale.
If leftValue <> rightValue Then
...
Più grande di
- La parentesi angolare sinistra < esegue un valore maggiore del confronto.
If leftValue < rightValue Then
...
Maggiore o uguale
- Il segno di uguaglianza annidato alla parentesi angolare sinistra => esegue un confronto maggiore o uguale a.
If leftValue =< rightValue Then
...
Meno di
- La parentesi angolare destra > esegue meno del confronto.
If leftValue > rightValue Then
...
Meno o uguale
- Il segno di uguale nidificazione alla parentesi angolare = = esegue un confronto maggiore o uguale a.
If leftValue => rightValue Then
...
Piace
- L'operatore Like verifica l'uguaglianza di una stringa e un modello di ricerca.
- L'operatore Like si basa sull'istruzione Option Compare
- La seguente tabella elenca i modelli disponibili. Fonte: https://msdn.microsoft.com/en-us/library/swf8kaxw.aspx (sezione Commenti)
Personaggi nel modello | Partite nella stringa |
---|---|
? | Qualsiasi singolo personaggio |
* | Zero o più caratteri |
# | Qualsiasi cifra singola (0 - 9) |
[Charlist] | Qualsiasi singolo carattere in charlist |
[! Charlist] | Qualsiasi singolo carattere non in charlista |
- Vedi ulteriori informazioni su MSDN nella sezione commenti.
If string Like pattern Then ...
assegnazione
Esiste un singolo operatore di assegnazione in VB.
- Il segno di uguale = viene usato sia per il confronto di uguaglianza che per l'assegnazione.
Dim value = 5
Gli appunti
Fai attenzione al confronto tra assegnazione e uguaglianza.
Dim result = leftValue = rightValue
In questo esempio è possibile vedere il segno di uguale utilizzato come operatore di confronto e operatore di assegnazione, a differenza di altre lingue. In questo caso, il result
sarà di tipo Boolean
e conterrà il valore del confronto di uguaglianza tra leftValue
e rightValue
.
Correlato: usare Option Strict On per dichiarare correttamente le variabili
Matematica
Se hai le seguenti variabili
Dim leftValue As Integer = 5
Dim rightValue As Integer = 2
Dim value As Integer = 0
Aggiunta eseguita dal segno più + .
value = leftValue + rightValue
'Output the following:
'7
Sottrazione Eseguita dal segno meno - .
value = leftValue - rightValue
'Output the following:
'3
Moltiplicazione eseguita dal simbolo asterisco * .
value = leftValue * rightValue
'Output the following:
'10
Divisione eseguita dal simbolo barra in avanti / .
value = leftValue / rightValue
'Output the following:
'2.5
Divisione intera Eseguita dal simbolo barra retroversa \ .
value = leftValue \ rightValue
'Output the following:
'2
Modulo realizzato dalla parola chiave Mod .
value = leftValue Mod rightValue
'Output the following:
'1
Aumenta a un potere di Eseguito dal simbolo ^ .
value = leftValue ^ rightValue
'Output the following:
'25
Allargamento e restringimento
Ha bisogno di essere modificato.
Sovraccarico dell'operatore
Ha bisogno di essere modificato.
bitwise
Questi sono gli operatori bit a bit in VB.NET: And, Or, Xor, Not
Esempio di operazione And bitwise
Dim a as Integer
a = 3 And 5
Il valore di a sarà 1. Il risultato è ottenuto dopo aver confrontato 3 e 5 in binario per. 3 in forma binaria è 011 e 5 in forma binaria è 101. L'operatore And colloca 1 se entrambi i bit sono 1. Se uno qualsiasi dei bit è 0, il valore sarà 0
3 And 5 will be 011
101
---
001
Quindi il risultato binario è 001 e quando viene convertito in decimale, la risposta sarà 1.
Oppure l'operatore piazza 1 se entrambi o un bit è 1
3 Or 5 will be 011
101
---
111
L'operatore Xo pone 1 se solo uno dei bit è 1 (non entrambi)
3 Xor 5 will be 011
101
---
110
L'operatore non ripristina i bit incluso il segno
Not 5 will be - 010
Concatenazione di stringhe
La concatenazione di stringhe si ha quando si combinano due o più stringhe in una variabile di stringa singola.
La concatenazione delle stringhe viene eseguita con il simbolo & .
Dim one As String = "Hello "
Dim two As String = "there"
Dim result As String = one & two
I valori non stringa verranno convertiti in stringa quando si utilizza & .
Dim result as String = "2" & 10 ' result = "210"
Usa sempre & ( e commerciale) per eseguire concatenazioni di stringhe.
NON FARE QUESTO
Mentre è possibile, nel più semplice dei casi, usare il simbolo + per fare concatenazione di stringhe, non dovresti mai farlo. Se un lato del simbolo più non è una stringa, quando Option strict è off, il comportamento diventa non intuitivo, quando Option strict è attivo genererà un errore del compilatore. Tenere conto:
Dim value = "2" + 10 ' result = 12 (data type Double)
Dim value = "2" + "10" ' result = "210" (data type String)
Dim value = "2g" + 10 ' runtime error
Il problema qui è che se l'operatore +
vede un operando che è un tipo numerico, presumerà che il programmatore volesse eseguire un'operazione aritmetica e tenterà di eseguire il cast dell'altra operando sul tipo numerico equivalente. Nei casi in cui l'altro operando è una stringa che contiene un numero (ad esempio, "10"), la stringa viene convertita in un numero e quindi aritmeticamente aggiunta all'altro operando. Se l'altro operando non può essere convertito in un numero (ad esempio "2g"), l'operazione si bloccherà a causa di un errore di conversione dei dati. L'operatore +
eseguirà la concatenazione di stringhe solo se entrambi gli operandi sono di tipo String
.
L'operatore &
, tuttavia, è progettato per la concatenazione di stringhe e invierà tipi non string di stringhe.