VB.Net - 逻辑/按位运算符



下表显示了 VB.Net 支持的所有逻辑运算符。假设变量 A 持有布尔值 True,变量 B 持有布尔值 False,则 -

运算符 描述 示例
And 它是逻辑运算符和按位 AND 运算符。如果两个操作数都为真,则条件变为真。此运算符不执行短路,即它评估两个表达式。 (A And B) 为 False。
Or 它是逻辑运算符和按位 OR 运算符。如果两个操作数中的任何一个为真,则条件变为真。此运算符不执行短路,即它评估两个表达式。 (A Or B) 为 True。
Not 它是逻辑运算符和按位 NOT 运算符。用于反转其操作数的逻辑状态。如果条件为真,则逻辑 NOT 运算符将变为假。 Not(A And B) 为 True。
Xor 它是逻辑运算符和按位异或运算符。如果两个表达式都为真或两个表达式都为假,则返回 False;否则,返回 True。此运算符不执行短路,它始终评估两个表达式,并且此运算符没有短路对应项 A Xor B 为 True。
AndAlso 它是逻辑 AND 运算符。它仅适用于布尔数据。它执行短路。 (A AndAlso B) 为 False。
OrElse 它是逻辑 OR 运算符。它仅适用于布尔数据。它执行短路。 (A OrElse B) 为 True。
IsFalse 它确定表达式是否为 False。
IsTrue 它确定表达式是否为 True。

尝试以下示例以了解 VB.Net 中可用的所有逻辑/按位运算符 -

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

编译并执行上述代码时,将产生以下结果 -

Line 1 - Condition is true
Line 2 - Condition is true
Line 3 - 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
vb.net_operators.htm
广告