Olvasás angol nyelven

Megosztás a következőn keresztül:


Nem operátor (Visual Basic)

Logikai tagadást végez egy Boolean kifejezésen, vagy bitenkénti negációt egy numerikus kifejezésen.

Syntax

result = Not expression  

Részek

result
Szükséges. Bármely Boolean vagy numerikus kifejezés.

expression
Szükséges. Bármely Boolean vagy numerikus kifejezés.

Megjegyzések

A kifejezések esetében Boolean az alábbi táblázat bemutatja a meghatározás módját result .

Ha expression igen, Az érték a következő result :
True False
False True

Numerikus kifejezések esetén az Not operátor megfordítja a numerikus kifejezések bitértékeit, és a megfelelő bitet az alábbi táblázat szerint állítja be result .

Ha a bit be van expression A bit be van result
0 0
0 0

Megjegyzés

Mivel a logikai és bitenkénti operátorok elsőbbsége alacsonyabb, mint más aritmetikai és relációs operátoroké, a pontos végrehajtás érdekében a bitenkénti műveleteket zárójelben kell megadni.

Vegye figyelembe, hogy ha Not someStr?.Contains("some string") a kiértékelt Boolean? érték vagy bármely más érték a blokk értékével vagy HasValue=falseértékével nothing rendelkezik, akkor a else blokk lefut. A kiértékelés az SQL-értékelést követi, ahol a null/semmi nem egyenlő semmivel, még egy null/semmivel sem.

Adattípusok

Logikai tagadás esetén az eredmény adattípusa.Boolean Bitenkénti tagadás esetén az eredmény adattípusa megegyezik expressiona . Ha azonban a kifejezés az Decimal, akkor az eredmény .Long

Túlterhelés

Az Not operátor túlterhelhető, ami azt jelenti, hogy egy osztály vagy struktúra újradefiniálta a viselkedését, ha az operandusa az adott osztály vagy struktúra típusával rendelkezik. Ha a kód egy ilyen osztályon vagy struktúrán használja ezt az operátort, győződjön meg arról, hogy tisztában van az újradefiniált viselkedésével. További információ: Operátori eljárások.

1. példa

Az alábbi példa az Not operátor használatával végez logikai negációt egy Boolean kifejezésen. Az eredmény egy Boolean olyan érték, amely a kifejezés értékének fordítottját jelöli.

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)

Az előző példában a következő eredmények lesznek FalseTruelétrehozva:

2. példa

Az alábbi példa az operátort használja egy Not numerikus kifejezés egyes bitjeinek logikai tagadására. Az eredményminta bitje az operandus mintájának megfelelő bit fordítottjára van állítva, beleértve a jelbitet is.

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)

Az előző példa –11, –9 és –7 eredményt ad.

Lásd még