csharp-operadores-logicos

Operadores lógicos en C#

  • 4 min

Los operadores lógicos son símbolos especiales que nos permiten combinar condiciones y realizar operaciones basadas en el resultado de esas condiciones.

Los operadores lógicos más comunes en C# son:

OperadorNombreDescripción
&&ANDDevuelve true si ambos operandos son true
||ORDevuelve true si al menos uno de los operandos es true
!NOTNiega el valor

Si quieres aprender más consulta el Curso de Introducción a la Programación

Listado de operadores lógicos

AND lógico (&&)

El operador lógico AND nos permite evaluar dos condiciones y devuelve true si ambas condiciones son verdaderas, o false en caso contrario. Por ejemplo:

bool condicion1 = true;
bool condicion2 = false;
bool resultado = condicion1 && condicion2; // resultado será igual a false
Copied!

OR lógico (||)

El operador lógico OR nos permite evaluar dos condiciones y devuelve true si al menos una de las condiciones es verdadera, o false en caso contrario. Por ejemplo:

bool condicion1 = true;
bool condicion2 = false;
bool resultado = condicion1 || condicion2; // resultado será igual a true
Copied!

NOT lógico (!)

El operador lógico NOT nos permite invertir el valor de una condición. Si la condición es true, devuelve false, y si la condición es false, devuelve true. Por ejemplo:

bool condicion = true;
bool resultado = !condicion; // resultado será igual a false
Copied!

Ejemplos de Uso

Combinación de operadores lógicos

Es posible combinar varios operadores lógicos en una sola expresión para crear condiciones más complejas. Por ejemplo:

int numero = 15;

bool esMultiploDe3 = (numero % 3 == 0);
bool esMultiploDe5 = (numero % 5 == 0);

bool esMultiploDe3_o_5 = esMultiploDe3 || esMultiploDe5; // true, ya que 15 es múltiplo de 3
bool esMultiploDe3_y_5 = esMultiploDe3 && esMultiploDe5; // true, ya que 15 es múltiplo de 3 y 5 simultáneamente
bool noEsMultiploDe3 = !esMultiploDe3; // false
Copied!

Precedencia de operadores lógicos

Cuando se combinan múltiples operadores lógicos en una expresión, es importante entender su precedencia para evaluar correctamente la expresión.

La precedencia de operadores lógicos en C# sigue este orden:

  1. ! (NOT)
  2. && (AND)
  3. || (OR)

Por lo tanto, en una expresión con && y ||, && se evalúa antes que ||. Sin embargo, no conviene abusar de esto a la hora de escribir nuestro código. No os importa usar paréntesis si mejora la legibilidad.

Por ejemplo:

int a = 5;
int b = 10;
int c = 15;

bool resultado = (a > b) || (b < c) && (a == c); // true
// Evaluado como: (a > b) || ((b < c) && (a == c))
Copied!

Para mejorar la claridad, a veces conviene poner paréntesis aunque no sean necesarios, si eso mejora la legibilidad.

bool resultado = (a > b) || ((b < c) && (a == c)); // true
Copied!