Contenido del curso
Primeros pasos con C#
- 6

Tipos de datos primitivos en C#
11:38 min - 7

Área de un rectángulo en C#
12:08 min - 8

var en C# para declarar variables sin tipo
05:25 min - 9

Cálculo del Área de un Círculo en C# Usando Constantes y Variables
14:39 min - 10

Operadores aritméticos en C# explicados
09:57 min - 11

Operadores lógicos AND OR NOT XOR en C#
Viendo ahora - 12

Operadores relacionales para comparar números en C#
11:05 min - 13

Interpolación de strings en C#
11:47 min
Bucles y estructuras de control en C#
- 14

Condicionales IF en C#: Estructura y Uso Práctico en Blackjack
15:23 min - 15

Switch en C# para máquinas de estado
11:04 min - 16

Ciclos while y do-while en C#
18:00 min - 17

Refactorizar el juego de 21 en C#
11:37 min - 18

Uso de ciclos FOR en programación C#
18:51 min - 19

Cómo corregir el bug del bucle for en C#
08:27 min
Próximos pasos
Operadores lógicos AND OR NOT XOR en C#
Resumen
Los operadores lógicos en C# te permiten comparar expresiones booleanas para construir reglas de decisión en tu código, desde validar contraseñas hasta diseñar flujos de seguridad con autenticación múltiple. Si programas en .NET 6 y quieres entender cómo combinar condiciones, aquí encontrarás cómo funcionan AND, OR, NOT y XOR con ejemplos prácticos.
¿Qué son los operadores lógicos en C#?
Son símbolos que comparan valores booleanos (true o false) y devuelven otro booleano. A diferencia de los operadores aritméticos, no suman ni restan: evalúan condiciones. En C# los más usados son cuatro y cada uno responde a una pregunta distinta sobre tus variables [01:05].
¿Para qué sirven los operadores lógicos? Sirven para combinar condiciones y decidir si un bloque de código se ejecuta. Por ejemplo, validar que una usuaria ingrese contraseña y huella digital antes de acceder a su cuenta.
Antes de comparar, necesitas declarar tus variables booleanas. Puedes hacerlo de forma explícita con bool valor1 = true; o de forma implícita agrupándolas entre paréntesis con var, siempre que sean del mismo tipo. C# detecta automáticamente que trabajas con booleanos por los valores que asignas [09:30].
¿Cómo funcionan AND y OR en C#?
El operador AND se escribe con && y exige que todas las condiciones sean verdaderas para devolver true. Si alguna falla, el resultado es false [02:45].
Piensa en una app bancaria de máxima seguridad: para entrar necesitas contraseña, código 2FA y huella digital. Si una sola falla, el acceso se niega. Eso es AND en acción [04:10].
El operador OR se escribe con || (las dos barras verticales en la esquina superior izquierda del teclado) y devuelve true si al menos una condición se cumple [05:20].
csharp bool valor1 = true; bool valor2 = false; bool valor3 = false;
bool resultadoAnd = valor1 && valor2 && valor3; // false bool resultadoOr = valor1 || valor2 || valor3; // true
En la analogía de seguridad, OR equivale a permitir acceso con contraseña o con 2FA o con huella: cualquiera abre la puerta.
¿Puedo combinar AND y OR en una misma expresión?
Sí, y aquí entra la precedencia de operaciones. Usa paréntesis para indicar qué se evalúa primero, igual que en álgebra [07:15].
csharp bool combinado = (valor1 && valor2) || valor3;
Esto se lee así: si valor1 y valor2 son ambos verdaderos, o si valor3 es verdadero por sí solo, el resultado es true. Es como decir: "entra con contraseña más 2FA, o directamente con huella digital".
¿Para qué sirven NOT y XOR?
El operador NOT se escribe con ! y simplemente invierte el valor. Si una variable es true, !variable la convierte en false, y viceversa [10:45].
csharp bool valor1 = true; bool resultNot = !valor1; // false
Es útil cuando quieres verificar que algo no se cumple, como "si el usuario no está autenticado, redirigir al login".
¿Qué hace el operador XOR en C#? Compara dos valores y devuelve
truesolo si son diferentes. Si ambos son iguales (los dostrueo los dosfalse), devuelvefalse. Se escribe con el símbolo^.
Mientras AND pregunta "¿son ambos verdaderos?", XOR pregunta "¿son distintos entre sí?" [12:00].
csharp bool resultXor = valor1 ^ valor2;
¿Por qué XOR con tres variables da resultados inesperados?
Cuando encadenas valor1 ^ valor2 ^ valor3, C# evalúa de izquierda a derecha. Primero compara valor1 ^ valor2 y obtiene un booleano intermedio; luego compara ese resultado con valor3 [13:20].
Por eso, si valor1 y valor2 son ambos true, el primer XOR da false, y al compararlo con valor3 = false, el resultado final es false. No son diferentes entre sí en la segunda comparación. Usar paréntesis te ayuda a visualizar el orden:
csharp bool resultXor = (valor1 ^ valor2) ^ valor3;
¿Cómo aplicar operadores lógicos en proyectos reales?
La analogía de la caja fuerte funciona perfecto: imagina cuántas llaves necesita girar tu usuario y en qué combinaciones. Esa lógica se traduce directamente a &&, ||, ! y ^.
- Usa AND cuando todas las condiciones deban cumplirse: validaciones estrictas, permisos múltiples.
- Usa OR cuando baste con que una se cumpla: rutas alternativas de autenticación.
- Usa NOT para invertir estados: comprobar ausencia de errores o de sesión.
- Usa XOR para detectar diferencias: alternar estados, validar exclusividad mutua.
Para declarar varias booleanas en una sola línea, recuerda la sintaxis con paréntesis y var:
csharp var (valor1, valor2, valor3) = (true, false, true);
C# infiere el tipo automáticamente porque los valores asignados son booleanos. Te ahorra repetir bool tres veces y deja el código más limpio.
Si algo no quedó claro, déjalo en los comentarios y entre la comunidad lo resolvemos.