Compartir a través de


Operador And (Visual Basic)

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

Sintaxis

result = expression1 And expression2  

Partes

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

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

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

Observaciones

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

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 And operador siempre evalúa ambas expresiones, lo que podría incluir realizar llamadas a procedimiento. 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 And operador realiza una comparación bit a bit de bits con posición 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 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 deben incluirse entre paréntesis para garantizar resultados precisos.

Tipos de datos

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

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

Nota:

El And operador se puede sobrecargar, 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 comprender su comportamiento redefinido. Para obtener más información, vea Procedimientos de operador.

Ejemplo 1

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