Está en la página 1de 2

a m Operadores

lógicos booleanos:
AND, OR, NOT, XOR
Artículo

 02/12/2022
 Tiempo de lectura: 8 minutos
 5 colaboradores
Comentarios

Los operadores booleanos lógicos realizan operaciones lógicas con


operandos bool . Los operadores incluyen la negación lógica unaria (!), AND lógico
binario (), OR (|&) y OR exclusivo (^) y el AND lógico condicional binario (&&) y OR
(||).

 Operador unario ! (negación lógica).


 Operadores binarios & (AND lógico), | (OR lógico) y ^ (OR exclusivo lógico).
Esos operadores siempre evalúan ambos operandos.
 Operadores binarios && (AND lógico condicional) y || (OR lógico condicional).
Esos operadores evalúan el operando derecho solo si es necesario.

En el caso de los operandos de los tipos numéricos enteros, los


operadores &, | y ^ realizan operaciones lógicas bit a bit. Para obtener más
información, vea Operadores de desplazamiento y bit a bit.

Operador de negación lógico !


El operador ! de prefijo unario calcula la negación lógica de su operando. Es decir,
genera true, si el operando se evalúa como false, y false, si el operando se evalúa
como true:

C#Copiar
Ejecutar
bool passed = false;
Console.WriteLine(!passed); // output: True
Console.WriteLine(!true); // output: False

El operador de postfijo unario ! es el operador que permite valores NULL.

Operador AND lógico &


El operador & calcula el operador AND lógico de sus operandos. El resultado de x &
y es true si x y y se evalúan como true. De lo contrario, el resultado es false.

El operador & evalúa ambos operandos, incluso aunque el izquierdo se evalúe


como false, para que el resultado de la operación sea false con independencia del
valor del operando derecho.

En el ejemplo siguiente, el operando derecho del operador & es una llamada de


método, que se realiza independientemente del valor del operando izquierdo:

C#Copiar
Ejecutar
bool SecondOperand()
{
Console.WriteLine("Second operand is evaluated.");
return true;
}

bool a = false & SecondOperand();


Console.WriteLine(a);
// Output:
// Second operand is evaluated.
// False

bool b = true & SecondOperand();


Console.WriteLine(b);
// Output:
// Second operand is evaluated.
// True

El operador AND lógico condicional&& también calcula el operador AND lógico de


sus operandos, pero no evalúa el operando derecho si el izquierdo se evalúa
como false.

En el caso de los operandos de los tipos numéricos enteros, el operador & calcula


el AND lógico bit a bit de sus operandos. El operador & unario es el operador
address-of.

También podría gustarte