Operador And (Visual Basic)

Performs a logical conjunction on two Boolean expressions, or a bitwise conjunction on two numeric expressions.

result = expression1 And expression2

Parts

  • result
    Required. Any Boolean or numeric expression. For Boolean comparison, result is the logical conjunction of two Boolean values. For bitwise operations, result is a numeric value representing the bitwise conjunction of two numeric bit patterns.

  • expression1
    Required. Any Boolean or numeric expression.

  • expression2
    Required. Any Boolean or numeric expression.

Comentários

For Boolean comparison, result is True if and only if both expression1 and expression2 evaluate to True. The following table illustrates how result is determined.

If expression1 is

And expression2 is

The value of result is

True

True

True

True

False

False

False

True

False

False

False

False

ObservaçãoObservação

In a Boolean comparison, the And operator always evaluates both expressions, which could include making procedure calls. The Operador AndAlso (Visual Basic) performs short-circuiting, which means that if expression1 is False, then expression2 is not evaluated.

When applied to numeric values, the And operator performs a bitwise comparison of identically positioned bits in two numeric expressions and sets the corresponding bit in result according to the following table.

If bit in expression1 is

And bit in expression2 is

The bit in result is

1

1

1

1

0

0

0

1

0

0

0

0

ObservaçãoObservação

Since the logical and bitwise operators have a lower precedence than other arithmetic and relational operators, any bitwise operations should be enclosed in parentheses to ensure accurate results.

Data Types

If the operands consist of one Boolean expression and one numeric expression, Visual Basic converts the Boolean expression to a numeric value (–1 for True and 0 for False) and performs a bitwise operation.

For a Boolean comparison, the data type of the result is Boolean. Para obter uma comparação bit a bit, o tipo de dados de resultado é um tipo numérico apropriado para os tipos de dados de expression1 e expression2. See the "Relational and Bitwise Comparisons" table in Tipos de dados de resultados de operador (Visual Basic).

ObservaçãoObservação

The And operator can be overloaded, which means that a class or structure can redefine its behavior when an operand has the type of that class or structure. If your code uses this operator on such a class or structure, be sure you understand its redefined behavior. For more information, see Procedimentos de operador (Visual Basic).

Exemplo

The following example uses the And operator to perform a logical conjunction on two expressions. The result is a Boolean value that represents whether both of the expressions are 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

The preceding example produces results of True and False, respectively.

The following example uses the And operator to perform logical conjunction on the individual bits of two numeric expressions. The bit in the result pattern is set if the corresponding bits in the operands are both set to 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)

O exemplo anterior produz resultados de 8, 2 e 0, respectivamente.

Consulte também

Referência

Operadores lógicos/bit a bit (Visual Basic)

Precedência de operadores no Visual Basic

Operadores listados por Funcionalidade (Visual Basic)

Operador AndAlso (Visual Basic)

Conceitos

Operadores lógicos e bit a bit no Visual Basic