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#.