Not – operátor (Visual Basic)
Provádí logickou negaci u výrazu Boolean
nebo bitové negace u číselného výrazu.
Syntaxe
result = Not expression
Součástky
result
Povinný: Libovolný Boolean
nebo číselný výraz
expression
Povinný: Libovolný Boolean
nebo číselný výraz
Poznámky
U Boolean
výrazů znázorňuje následující tabulka způsob result
určení.
Pokud expression je |
Hodnota result je |
---|---|
True |
False |
False |
True |
U číselných výrazů Not
operátor invertuje bitové hodnoty libovolného číselného výrazu a nastaví odpovídající bit podle result
následující tabulky.
Pokud je bit v expression |
Bit in result je |
---|---|
0 | 0 |
0 | 1 |
Poznámka:
Vzhledem k tomu, že logické a bitové operátory mají nižší prioritu než jiné aritmetické a relační operátory, měly by být všechny bitové operace uzavřeny v závorkách, aby se zajistilo přesné provedení.
Všimněte si, že pokud Not someStr?.Contains("some string")
nebo jakákoli jiná hodnota, která se vyhodnotí jako Boolean?
hodnota nothing
nebo HasValue=false
, else
je blok spuštěn. Vyhodnocení se řídí vyhodnocením SQL, kdy hodnota null/nothing se nic nerovná, ani jiná hodnota null/nic.
Typy dat
Pro logickou negaci je Boolean
datový typ výsledku . U bitové negace je datový typ výsledku stejný jako datový expression
typ . Pokud je Decimal
však výraz , výsledek je Long
.
Přetížení
Operátor Not
může být přetížen, což znamená, že třída nebo struktura mohou předefinovat jeho chování, pokud má jeho operand typ této třídy nebo struktury. Pokud váš kód používá tento operátor pro takovou třídu nebo strukturu, ujistěte se, že rozumíte jeho předdefinované chování. Další informace naleznete v tématu Procedury operátoru.
Příklad 1
Následující příklad používá Not
operátor k provedení logické negace u výrazu Boolean
. Výsledkem je Boolean
hodnota, která představuje obrácenou hodnotu výrazu.
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)
Předchozí příklad vytvoří výsledky False
a True
v uvedeném pořadí.
Příklad 2
Následující příklad používá Not
operátor k provedení logické negace jednotlivých bitů číselného výrazu. Bit ve výsledném vzoru je nastaven na opak odpovídajícího bitu v operandovém vzoru, včetně bitu znaménka.
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)
Předchozí příklad vytvoří výsledky –11, –9 a –7.