Inte operator (Visual Basic)
Utför logisk negation på ett Boolean
uttryck eller bitvis negation på ett numeriskt uttryck.
Syntax
result = Not expression
Delar
result
Obligatoriska. Valfritt Boolean
eller numeriskt uttryck.
expression
Obligatoriska. Valfritt Boolean
eller numeriskt uttryck.
Kommentarer
För Boolean
uttryck illustrerar följande tabell hur result
bestäms.
Om expression är |
Värdet för result är |
---|---|
True |
False |
False |
True |
För numeriska uttryck inverterade operatorn Not
bitvärdena för ett numeriskt uttryck och anger motsvarande bit i result
enligt följande tabell.
Om bit in expression är |
Biten i result är |
---|---|
1 | 0 |
0 | 1 |
Kommentar
Eftersom de logiska operatorerna och bitvis-operatorerna har lägre prioritet än andra aritmetiska operatorer och relationsoperatorer bör alla bitvis åtgärder omges av parenteser för att säkerställa korrekt körning.
Observera att om Not someStr?.Contains("some string")
eller något annat värde som utvärderas som Boolean?
har värdet nothing
för eller HasValue=false
, else
körs blocket. Utvärderingen följer SQL-utvärderingen där null/ingenting inte är lika med något, inte ens en annan null/ingenting.
Datatyper
För en boolesk negation är Boolean
datatypen för resultatet . För en bitvis negation är resultatdatatypen samma som expression
för . Men om uttrycket är Decimal
är Long
resultatet .
Överbelastning
Operatorn Not
kan överbelastas, vilket innebär att en klass eller struktur kan omdefiniera sitt beteende när dess operande har den typen av klass eller struktur. Om din kod använder den här operatorn i en sådan klass eller struktur bör du se till att du förstår dess omdefinierade beteende. Mer information finns i Operatorprocedurer.
Exempel 1
I följande exempel används operatorn Not
för att utföra logisk negation för ett Boolean
uttryck. Resultatet är ett Boolean
värde som representerar det omvända värdet för uttrycket.
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)
Föregående exempel ger resultat av False
respektive True
.
Exempel 2
I följande exempel används operatorn Not
för att utföra logisk negation av enskilda bitar av ett numeriskt uttryck. Biten i resultatmönstret är inställd på motsatsen till motsvarande bit i operandmönstret, inklusive teckenbiten.
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)
Föregående exempel ger resultat på –11, –9 respektive –7.