And (Operador, Visual Basic)
Actualización: noviembre 2007
Realiza una conjunción lógica entre dos expresiones Boolean o una conjunción bit a bit entre dos expresiones numéricas.
result = expression1 And expression2
Partes
result
Obligatorio. Cualquier expresión numérica o de tipo Boolean. Para la comparación booleana, result es la conjunción lógica de dos valores Boolean. Para las operaciones bit a bit, result es un valor numérico que representa la conjunción bit a bit de dos modelos 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
Para la comparación booleana, result es True si y sólo si expression1 y expression2 se evalúan como True. La tabla siguiente ilustra cómo se determina el argumento 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 evalúa siempre las dos expresiones, lo que podría incluir realizar llamadas a procedimientos. AndAlso (Operador) realiza un cortocircuito, lo que significa que si expression1 es False, no se evalúa expression2. |
Aplicado a valores numéricos, el operador And realiza una comparación bit a bit de los bits ubicados de manera idéntica en dos expresiones numéricas y establece el bit correspondiente en result de acuerdo con la siguiente tabla:
Si el bit de expression1 es... |
Y el bit de expression2 es... |
El bit de result es... |
---|---|---|
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
Nota: |
---|
Al tener los operadores lógicos y bit a bit una prioridad inferior a la de otros operadores aritméticos y relacionales, las operaciones bit a bit deben efectuarse entre paréntesis para garantizar unos resultados correctos. |
Tipos de datos
Si los operandos constan de una expresión Boolean y una expresión numérica, Visual Basic convierte la expresión Boolean a 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 del 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 resultados de operador.
Nota: |
---|
El operador And se puede sobrecargar, lo que significa que una clase o una estructura pueden definir de nuevo su comportamiento cuando un operando tiene el tipo de dicha clase o estructura. Si el código utiliza este operador en una clase o estructura de este tipo, asegúrese de conocer su comportamiento redefinido. Para obtener más información, vea Procedimientos de operador. |
Ejemplo
En el ejemplo siguiente se usa el operador And para realizar una conjunción lógica de dos expresiones. El resultado será un valor de tipo Boolean que indicará si las dos 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
El ejemplo anterior genera unos resultados de True y False, respectivamente.
En el ejemplo siguiente se usa el operador And para realizar una conjunción lógica entre cada uno de los bits de dos expresiones numéricas. El bit en el modelo resultante se establece si están establecidos en 1 los bits correspondientes de los operandos.
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)
El ejemplo anterior genera unos resultados de 8, 2 y 0, respectivamente.
Vea también
Conceptos
Operadores lógicos y bit a bit en Visual Basic
Referencia
Operadores lógicos y operadores bit a bit
Prioridad de operador en Visual Basic