下表顯示了VB.Net支援的所有邏輯運算子。假設變數A = True
,變數B = False
,則:
運算子 | 描述 | 說明 |
---|---|---|
And |
它是邏輯運算子,也是按位元運算子。如果兩個運算元都是:True ,則條件成立。 該運算子不執行短路,即它評估兩個表示式的值。 |
(A And B) 結果為:False |
Or |
它是邏輯以及按位元或運算子。如果兩個運算元中的任何一個為True ,則條件成立。 該運算子不執行短路,即它評估兩個表示式。 |
(A Or B) 結果為:True |
Not |
它是邏輯,也是按位元運算子。用於反轉其運算元的邏輯狀態。如果條件成立,那麼邏輯非運算子結果為:False 。 |
Not(A And B) 結果為:True |
Xor |
它是邏輯,也是按位元的邏輯互斥或運算子。 如果兩個表示式均為True 或兩個表示式均為False ,則返回True ; 否則返回False 。 該運算子不執行短路,它總是評估這兩個表示式,並且沒有短路對應。 |
A Xor B 結果為:True |
AndAlso |
這是邏輯AND 運算子,它只適用於布林資料,並可執行短路。 |
(A AndAlso B) 結果為:False |
OrElse |
這是合乎邏輯的OR 運算子,它只適用於布林資料,並可執行短路。 |
(A OrElse B) 結果為:True |
IsFalse |
它確定一個表示式是否為False 。 |
|
IsTrue |
它確定一個表示式是否為True 。 |
嘗試下面的例子來理解VB.Net中可用的所有邏輯/位運算子:
檔案:logicalOp.vb -
Module logicalOp
Sub Main()
Dim a As Boolean = True
Dim b As Boolean = True
Dim c As Integer = 5
Dim d As Integer = 20
'logical And, Or and Xor Checking
If (a And b) Then
Console.WriteLine("Line 1 - Condition is true")
End If
If (a Or b) Then
Console.WriteLine("Line 2 - Condition is true")
End If
If (a Xor b) Then
Console.WriteLine("Line 3 - Condition is true")
End If
'bitwise And, Or and Xor Checking'
If (c And d) Then
Console.WriteLine("Line 4 - Condition is true")
End If
If (c Or d) Then
Console.WriteLine("Line 5 - Condition is true")
End If
If (c Or d) Then
Console.WriteLine("Line 6 - Condition is true")
End If
'Only logical operators
If (a AndAlso b) Then
Console.WriteLine("Line 7 - Condition is true")
End If
If (a OrElse b) Then
Console.WriteLine("Line 8 - Condition is true")
End If
' lets change the value of a and b '
a = False
b = True
If (a And b) Then
Console.WriteLine("Line 9 - Condition is true")
Else
Console.WriteLine("Line 9 - Condition is not true")
End If
If (Not (a And b)) Then
Console.WriteLine("Line 10 - Condition is true")
End If
Console.ReadLine()
End Sub
End Module
執行上面範例程式碼,得到以下結果 -
F:\worksp\vb.net\operators>vbc logicalOp.vb
F:\worksp\vb.net\operators>logicalOp.exe
Line 1 - Condition is true
Line 2 - Condition is true
Line 4 - Condition is true
Line 5 - Condition is true
Line 6 - Condition is true
Line 7 - Condition is true
Line 8 - Condition is true
Line 9 - Condition is not true
Line 10 - Condition is true