Dela via


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 Booleandatatypen för resultatet . För en bitvis negation är resultatdatatypen samma som expressionför . Men om uttrycket är Decimalär Longresultatet .

Ö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.

Se även