And 运算符 (Visual Basic)

对两 Boolean 个表达式执行逻辑结合,或对两个数值表达式执行按位连。

语法

result = expression1 And expression2  

部件

result
必填。 任何 Boolean 或数值表达式。 对于布尔比较, result 是两 Boolean 个值的逻辑结合。 对于按位运算,是一个数值, result 表示两个数值位模式的按位结合。

expression1
必填。 任何 Boolean 或数值表达式。

expression2
必填。 任何 Boolean 或数值表达式。

注解

对于布尔比较,result仅True当和expression2expression1计算结果True为时。 下表说明了如何 result 确定。

如果 expression1 为 且 expression2 为 值为result
True True True
True False False
False True False
False False False

注释

在布尔比较中, And 运算符始终计算这两个表达式,其中包括进行过程调用。 AndAlso 运算符执行短路,这意味着如果是expression1False,expression2则不计算。

应用于数值时, And 运算符对两个数值表达式中的相同位置位执行按位比较,并根据下表设置相应的位 result 。

如果位为expression1 位传入expression2 位为result
1 1 1
1 0 0
0 1 0
0 0 0

注释

由于逻辑运算符和按位运算符的优先级低于其他算术和关系运算符,因此任何按位运算都应括在括号中,以确保准确的结果。

数据类型

如果作数由一个 Boolean 表达式和一个数值表达式组成,则 Visual Basic 会将 Boolean 表达式转换为数值(–1 for True 和 0 表示 False),并执行按位运算。

对于布尔比较,结果的数据类型为 Boolean。 为了进行按位比较,结果数据类型是适合数据类型和expression2数据类型的expression1数值类型。 请参阅 运算符结果数据类型中的“关系和按位比较”表。

注释

And可以重载运算符,这意味着当作数具有该类或结构的类型时,类或结构可以重新定义其行为。 如果代码对此类或结构使用此运算符,请确保了解其重新定义的行为。 有关详细信息,请参阅 运算符过程。

示例 1

以下示例使用 And 运算符对两个表达式执行逻辑组合。 结果是一个 Boolean 值,该值表示两个表达式是否都是 True。

Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstCheck, secondCheck As Boolean
firstCheck = a > b And b > c
secondCheck = b > a And b > c

前面的示例分别生成结果 True 和 False结果。

示例 2

以下示例使用 And 运算符对两个数值表达式的单个位执行逻辑结合。 如果作数中的相应位都设置为 1,则设置结果模式中的位。

Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstPattern, secondPattern, thirdPattern As Integer
firstPattern = (a And b)
secondPattern = (a And c)
thirdPattern = (b And c)

前面的示例分别生成 8、2 和 0 的结果。

另请参阅