Udostępnij za pośrednictwem


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 Decimalwartość , 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.

Zobacz też