Nem operátor (Visual Basic)
Logikai tagadást végez egy Boolean
kifejezésen, vagy bitenkénti negációt egy numerikus kifejezésen.
result = Not expression
result
Szükséges. Bármely Boolean
vagy numerikus kifejezés.
expression
Szükséges. Bármely Boolean
vagy numerikus kifejezés.
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.
Logikai tagadás esetén az eredmény adattípusa.Boolean
Bitenkénti tagadás esetén az eredmény adattípusa megegyezik expression
a . Ha azonban a kifejezés az Decimal
, akkor az eredmény .Long
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.
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 False
True
létrehozva:
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.
.NET-visszajelzés
A(z) .NET egy nyílt forráskód projekt. Visszajelzés adásához válasszon egy hivatkozást: