Operatore Not (Visual Basic)

Esegue una negazione logica con un'espressione Boolean oppure una negazione bit per bit con un'espressione numerica.

result = Not expression

Parti

  • result
    Obbligatorio.Qualsiasi espressione Boolean o numerica.

  • expression
    Obbligatorio.Qualsiasi espressione Boolean o numerica.

Note

Nella tabella riportata di seguito viene illustrato come si determina il valore di result con espressioni Boolean.

Se expression è

Il valore di result sarà

True

False

False

True

In presenza di espressioni numeriche, l'operatore Not inverte i valori dei bit di qualsiasi espressione numerica e imposta il bit corrispondente nell'argomento result come indicato nella seguente tabella:

Se il bit in expression è

Il bit in result sarà

1

0

0

1

[!NOTA]

Poiché il livello di precedenza degli operatori logici e bit per bit è inferiore rispetto a quello degli operatori aritmetici e relazionali, è necessario racchiudere le operazioni bit per bit tra parentesi per garantire un'esecuzione accurata.

Tipi di dati

Nel caso di una negazione di valori booleani il tipo di dati del risultato sarà Boolean.Per una negazione bit per bit il tipo di dati del risultato sarà uguale a quello di expression.Se tuttavia l'espressione è Decimal, il risultato sarà Long.

Overload

L'operatore Not può essere sottoposto a overload. In altri termini, una classe o una struttura può ridefinirne il comportamento quando un operando presenta il tipo di tale classe o struttura.Se il codice utilizza l'operatore su una classe o una struttura di questo tipo, è importante comprendere il comportamento ridefinito di tale operatore.Per ulteriori informazioni, vedere Routine di operatore (Visual Basic).

Esempio

Nell'esempio riportato di seguito l'operatore Not viene utilizzato per eseguire la negazione logica in un'espressione Boolean.Il risultato è un valore Boolean che rappresenta il contrario del valore dell'espressione.

Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstCheck, secondCheck As Boolean
firstCheck = Not (a > b)
secondCheck = Not (b > a)

I risultati ottenuti dall'esempio precedente sono rispettivamente False e True.

Nell'esempio riportato di seguito l'operatore Not viene utilizzato per eseguire la negazione logica dei singoli bit di un'espressione numerica.Il bit nello schema del risultato sarà l'opposto del corrispondente bit nel modello dell'operando, compreso il bit di segno.

Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstPattern, secondPattern, thirdPattern As Integer
firstPattern = (Not a)
secondPattern = (Not b)
thirdPattern = (Not c)

I risultati ottenuti dall'esempio precedente sono rispettivamente –11, –9 e –7.

Vedere anche

Riferimenti

Operatori logici e bit per bit (Visual Basic)

Precedenza tra gli operatori in Visual Basic

Elenco degli operatori per funzionalità (Visual Basic)

Concetti

Operatori logici e bit per bit in Visual Basic