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 Boolean
het gegevenstype van het resultaat . Voor een bitsgewijze negatie is het resultaatgegevenstype hetzelfde als dat van expression
. Als de expressie zich echter bevindt Decimal
, is Long
het 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 True
resultaten 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.