And (Operador, Visual Basic)

Realiza una conjunción lógica de dos expresiones Boolean o una conjunción bit a bit de dos expresiones numéricas.

Sintaxis

result = expression1 And expression2  

Partes

result
Obligatorio. Cualquier expresión numérica o de tipo Boolean. En la comparación booleana, result es la conjunción lógica de dos valores Boolean. En las operaciones bit a bit, result es un valor numérico que representa la conjunción bit a bit de dos patrones de bits numéricos.

expression1
Obligatorio. Cualquier expresión numérica o de tipo Boolean.

expression2
Obligatorio. Cualquier expresión numérica o de tipo Boolean.

Comentarios

En la comparación booleana, result es True si y solo si expression1 y expression2 se evalúan como True. En la tabla siguiente, se muestra cómo se determina result.

Si expression1 es Y expression2 es El valor de result es
True True True
True False False
False True False
False False False

Nota

En una comparación booleana, el operador And siempre evalúa ambas expresiones, lo que podría incluir la realización de llamadas a procedimientos. El operador AndAlso realiza un cortocircuito, lo que significa que si expression1 es False, expression2 no se evalúa.

Cuando se aplica a valores numéricos, el operador And realiza una comparación bit a bit de los bits colocados de manera idéntica en dos expresiones numéricas y establece el bit correspondiente en result según la tabla siguiente.

Si el bit en expression1 es Y el bit en expression2 es El bit en result es
1 1 1
1 0 0
0 1 0
0 0 0

Nota:

Dado que los operadores lógicos y bit a bit tienen una prioridad menor que otros operadores aritméticos y relacionales, las operaciones bit a bit se deben incluir entre paréntesis para garantizar resultados precisos.

Tipo de datos

Si los operandos constan de una expresión Boolean y una expresión numérica, Visual Basic convierte la expresión Boolean en un valor numérico (–1 para True y 0 para False) y realiza una operación bit a bit.

En una comparación booleana, el tipo de datos del resultado es Boolean. En una comparación bit a bit, el tipo de datos del resultado es un tipo numérico adecuado para los tipos de datos de expression1 y expression2. Consulte la tabla "Comparaciones relacionales y bit a bit" en Tipos de datos de resultado de operador.

Nota

El operador And puede sobrecargarse, lo que significa que una clase o estructura puede redefinir su comportamiento cuando un operando tiene el tipo de esa clase o estructura. Si el código usa este operador en una clase o estructura de este tipo, asegúrese de que comprende su comportamiento redefinido. Para obtener más información, consulta Operator Procedures.

Ejemplo 1

En el ejemplo siguiente, se usa el operador And para realizar una conjunción lógica en dos expresiones. El resultado es un valor Boolean que representa si ambas expresiones son 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

En el ejemplo anterior, se generan resultados de True y False, respectivamente.

Ejemplo 2

En el ejemplo siguiente, se usa el operador And para realizar conjunciones lógicas en los bits individuales de dos expresiones numéricas. El bit del patrón de resultado se establece si los bits correspondientes de los operandos se establecen en 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)

En el ejemplo anterior, se generan resultados de 8, 2 y 0, respectivamente.

Consulte también