共用方式為


Not 運算符 (Visual Basic)

在表達式上 Boolean 執行邏輯否定,或對數值表達式執行位否定。

語法

result = Not expression  

組件

result
必須的。 任何 Boolean 或數值表達式。

expression
必須的。 任何 Boolean 或數值表達式。

備註

對於 Boolean 表達式,下表說明如何 result 判斷。

如果 expression 的值 result
True False
False True

針對數值表達式, Not 運算符會反轉任何數值表達式的位值,並根據下表在 中 result 設定對應的位。

如果 bit in expression 中的 result 位為
1 0
0 1

備註

由於邏輯和位運算子的優先順序低於其他算術和關係運算符,因此任何位運算都應該以括弧括住,以確保正確執行。

請注意,如果 Not someStr?.Contains("some string") 或 評估為 Boolean? 的任何其他值具有 或HasValue=false的值nothing,則會else執行 區塊。 評估會遵循 SQL 評估,其中 null/nothing 不等於任何專案,甚至不等於另一個 Null/nothing。

數據類型

對於布爾值否定,結果的數據類型為 Boolean。 若為位否定,結果數據類型與的數據類型相同 expression。 不過,如果 expression 是 Decimal,則結果為 Long

重載

Not運算符可以多載,這表示當類別或結構具有該類別或結構的型別時,可以重新定義其行為。 如果您的程式代碼在這類類別或結構上使用這個運算符,請務必瞭解其重新定義的行為。 如需詳細資訊,請參閱 運算符程式

範例 1

下列範例會 Not 使用 運算符在表達式上 Boolean 執行邏輯否定。 結果是值 Boolean ,表示表達式值的反轉。

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)

上述範例分別會產生和True的結果False

範例 2

下列範例會 Not 使用 運算符來執行數值表達式個別位的邏輯否定。 結果模式中的位會設定為作數模式中對應位的反向位,包括符號位。

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)

上述範例分別會產生 –11、–9 和 –7 的結果。

另請參閱