Not — Operator (Visual Basic)
Wykonuje negację logiczną na wyrażeniu Boolean
lub negację bitową w wyrażeniu liczbowym.
Składnia
result = Not expression
generatora
result
Wymagany. Dowolne Boolean
wyrażenie lub liczbowe.
expression
Wymagany. Dowolne Boolean
wyrażenie lub liczbowe.
Uwagi
W przypadku Boolean
wyrażeń poniższa tabela ilustruje sposób result
określania.
Jeśli expression jest |
Wartość parametru result to |
---|---|
True |
False |
False |
True |
W przypadku wyrażeń liczbowych Not
operator odwraca wartości bitowe dowolnego wyrażenia liczbowego i ustawia odpowiedni bit zgodnie result
z poniższą tabelą.
Jeśli bit w expression jest |
Bit w result pliku jest |
---|---|
1 | 0 |
0 | 1 |
Uwaga
Ponieważ operatory logiczne i bitowe mają niższy priorytet niż inne operatory arytmetyczne i relacyjne, wszelkie operacje bitowe powinny być ujęte w nawiasy, aby zapewnić dokładne wykonanie.
Należy pamiętać, że jeśli Not someStr?.Contains("some string")
lub jakakolwiek inna wartość, która ocenia jako Boolean?
wartość nothing
lub HasValue=false
, else
blok jest uruchamiany. Ocena jest zgodna z oceną SQL, w której wartość null/nic nie jest równa niczego, a nawet innej wartości null/nic.
Typy danych
W przypadku negacji logicznej typ danych wyniku to Boolean
. W przypadku negacji bitowej typ danych wynikowych jest taki sam jak w przypadku expression
. Jeśli jednak wyrażenie ma Decimal
wartość , wynikiem jest Long
.
Przeciążenie
Not
Operator może być przeciążony, co oznacza, że klasa lub struktura może ponownie zdefiniować jego zachowanie, gdy operand ma typ tej klasy lub struktury. Jeśli kod używa tego operatora w takiej klasie lub strukturze, upewnij się, że rozumiesz jego ponownie zdefiniowane zachowanie. Aby uzyskać więcej informacji, zobacz Procedury operatorów.
Przykład 1
W poniższym przykładzie użyto Not
operatora do wykonania negacji logicznej na wyrażeniu Boolean
. Wynik jest wartością Boolean
reprezentującą odwrotność wartości wyrażenia.
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)
Powyższy przykład generuje odpowiednio wyniki False
i True
.
Przykład 2
W poniższym przykładzie użyto Not
operatora do wykonania logicznego negacji poszczególnych bitów wyrażenia liczbowego. Bit we wzorcu wyniku jest ustawiony na odwrotnie odpowiadającego bitu we wzorcu operandu, w tym bit znaku.
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)
Powyższy przykład generuje wyniki odpowiednio –11, –9 i –7.