Delen via


Geen operator (Visual Basic)

Voert logische negatie uit op een Boolean expressie of bitsgewijze negatie op een numerieke expressie.

Syntaxis

result = Not expression  

generator

result
Vereist. Een Boolean of meer numerieke expressies.

expression
Vereist. Een Boolean of meer numerieke expressies.

Opmerkingen

Voor Boolean expressies ziet u in de volgende tabel hoe result dit wordt bepaald.

Als expression is De waarde van result is
True False
False True

Voor numerieke expressies wordt door de Not operator de bitwaarden van een numerieke expressie omgedraaid en wordt de bijbehorende bit result ingesteld op basis van de volgende tabel.

Als bit is ingeschakeld expression De bit in result is
1 0
0 1

Notitie

Aangezien de logische en bitsgewijze operators een lagere prioriteit hebben dan andere rekenkundige en relationele operatoren, moeten bitsgewijze bewerkingen tussen haakjes worden geplaatst om een nauwkeurige uitvoering te garanderen.

Houd er rekening mee dat als Not someStr?.Contains("some string") of een andere waarde die de Boolean? waarde heeft van nothing of HasValue=false, het else blok wordt uitgevoerd. De evaluatie volgt de SQL-evaluatie waarbij null/niets niets gelijk is aan niets, zelfs niet een andere null/niets.

Gegevenstypen

Voor een Booleaanse negatie is Booleanhet gegevenstype van het resultaat . Voor een bitsgewijze negatie is het resultaatgegevenstype hetzelfde als dat van expression. Als de expressie zich echter bevindt Decimal, is Longhet resultaat .

Overbelasting

De Not operator kan overbelast worden, wat betekent dat een klasse of structuur het gedrag ervan opnieuw kan definiëren wanneer de operand het type van die klasse of structuur heeft. Als uw code deze operator gebruikt voor een dergelijke klasse of structuur, moet u het opnieuw gedefinieerde gedrag ervan begrijpen. Zie Operator Procedures voor meer informatie.

Voorbeeld 1

In het volgende voorbeeld wordt de Not operator gebruikt om logische negatie uit te voeren voor een Boolean expressie. Het resultaat is een Boolean waarde die het omgekeerde van de waarde van de expressie aangeeft.

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)

In het voorgaande voorbeeld worden de resultaten van False respectievelijk de Trueresultaten geproduceerd.

Voorbeeld 2

In het volgende voorbeeld wordt de Not operator gebruikt om logische negatie uit te voeren van de afzonderlijke bits van een numerieke expressie. De bit in het resultaatpatroon wordt ingesteld op het omgekeerde van de bijbehorende bit in het operand-patroon, inclusief de teken-bit.

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)

In het voorgaande voorbeeld worden respectievelijk de resultaten van –11, –9 en –7 geproduceerd.

Zie ook