Operadores if else y lógicos en C#

Clase 19 de 32Fundamentos de C# con NET Core 2.1

Resumen

Domina el control de flujo en C# con if, else y else if para evaluar condiciones y tomar decisiones confiables. Aquí verás cómo comparar valores, encadenar condiciones con && y ||, aplicar la negación ! y usar el operador módulo (%) para validar residuos, todo con ejemplos simples que imprimen mensajes en consola desde Visual Studio Code (aprovechando using static para WriteLine).

¿Cómo funciona if, else y else if en C#?

El operador if evalúa una condición booleana: si es verdadera, ejecuta un bloque; si no, puedes usar else para un camino alterno. También puedes encadenar tantas ramas como necesites con else if.

// valores base
bool respuesta = (10 == 10); // true
int cantidad = 10;

if (respuesta)
{
    Console.WriteLine("Se cumplió la condición 1.");
}
else if (cantidad > 5)
{
    Console.WriteLine("Se cumplió la condición 2.");
}
else
{
    Console.WriteLine("No se cumplió ninguna condición.");
}
  • if evalúa una condición booleana y ejecuta si es true.
  • else es opcional y cubre el caso contrario.
  • else if agrega más preguntas en cadena.
  • Puedes tener muchos else if: diez, veinte o cien.

¿Cuándo conviene usar else y cuándo omitirlo?

  • Úsalo si necesitas una acción clara cuando no se cumpla la condición.
  • Omítelo si el caso contrario no requiere lógica adicional.
  • En cadenas largas, ubica primero las condiciones más probables.

¿Qué operadores lógicos y de comparación usar?

Para comparar y combinar condiciones, utiliza operadores de comparación y lógicos. Evita confundir asignación (=) con comparación (==).

// comparación
bool respuesta = (10 == 10);   // true
int cantidad = 10;

// and lógico: ambas deben ser verdaderas
if (cantidad > 5 && respuesta == true)
{
    Console.WriteLine("Se cumplió la condición 4.");
}

// simplificación: comparar con true/false es redundante
a
if (cantidad > 5 && respuesta)
{
    Console.WriteLine("Se cumplió la condición 4.");
}

// or lógico: basta con que una sea verdadera
if ((cantidad > 5) || (!respuesta))
{
    Console.WriteLine("Se cumplió la condición 5.");
}
  • == compara igualdad; != compara diferencia.
  • , <, >=, <= comparan magnitudes.

  • && exige que todas las condiciones sean verdaderas.
  • || acepta que una sola condición verdadera baste.
  • ! invierte el valor booleano.
  • respuesta != false equivale a respuesta == true, que puede escribirse simplemente respuesta.
  • Cuidado: = asigna; == compara.

¿Cómo validar escenarios verdaderos y falsos rápidamente?

  • Fuerza una condición a false para probar else if y else.
  • Cambia umbrales (p. ej., cantidad > 15) para provocar ramas diferentes.
  • Niega variables con !respuesta para probar caminos alternos.

¿Cómo combinar condiciones y usar módulo (%) sin errores?

Agrupa condiciones con paréntesis para dejar clara la prioridad. Usa % (módulo) para evaluar residuos de una división, por ejemplo, comprobar si un número es múltiplo de 5.

int cantidad = 10;     // prueba con 10, luego 11 y 15
bool respuesta = true; // cambia a false para probar

// grupo 1: al menos una verdadera (or)
// grupo 2: debe cumplirse sí o sí (and) y ser múltiplo de 5
if ((cantidad > 5 || !respuesta) && (cantidad % 5 == 0))
{
    Console.WriteLine("Se cumplió la condición 5.");
}
else
{
    Console.WriteLine("No se cumplió la condición 5.");
}
  • Paréntesis aclaran la intención y evitan errores de precedencia.
  • % devuelve el residuo de la división; cantidad % 5 == 0 verifica múltiplos de 5.
  • Si cantidad = 10 y respuesta = true: todo se cumple.
  • Si cambias cantidad a 11: el residuo es 1 y la condición del módulo falla.
  • Si cantidad = 15 pero ambas del grupo (cantidad > 5 || !respuesta) son falsas, no pasa.
  • Recuerda: en comparaciones usa ==, no =.

¿Qué patrones lógicos conviene practicar?

  • Combinaciones con && cuando todas las condiciones son obligatorias.
  • Combinaciones con || cuando basta una condición.
  • Negación con ! para invertir banderas booleanas.
  • Encadenar else if para múltiples alternativas.

¿Tienes un caso práctico que quieras validar con if, else y operadores lógicos? Cuéntalo en los comentarios y comparte tu ejemplo en C#.

      Operadores if else y lógicos en C#