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 basebool respuesta =(10==10);// trueint cantidad =10;if(respuesta){ Console.WriteLine("Se cumplió la condición 1.");}elseif(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ónbool respuesta =(10==10);// trueint cantidad =10;// and lógico: ambas deben ser verdaderasif(cantidad >5&& respuesta ==true){ Console.WriteLine("Se cumplió la condición 4.");}// simplificación: comparar con true/false es redundantea
if(cantidad >5&& respuesta){ Console.WriteLine("Se cumplió la condición 4.");}// or lógico: basta con que una sea verdaderaif((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.
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 15bool 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 5if((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#.
Un aporte que depronto en algún momento de su vida les pueda servir es que null es != de ‘’ (vacio). muchas veces se puede llegar a confundir un valor vacío con un valor nulo.
Sucede bastante cuando se está validando la información recibida de un formulario.
Una forma en la que se puede simplificar la declaración de los if puede ser con el operador ternario ‘?’ el cual trata de reducir la condición y sus posibles respuestas en una sola línea de código.
var rta = (condiciones) ? “valor en caso de verdadero” : “valor en caso de falso”;
A continuación adjunto un ejemplo de una función que determina si un número es par o impar:
static void Main(string[] args)
{
var rta = verificarParImpar(10);
WriteLine (rta);
}
public static string verificarParImpar(int numero)
{
return (numero % 2 == 0) ? “Par” : “Impar”;
}
Si quieren profundizar acerca del tema, a continuación adjunto link de wikipedia:
Correcto William, aunque su uso se limita a la asignación de variables.
:thumbsup:
Estos son los resultados de la evaluaicon de las condiciones, si mal no recuerdo son las "Tablas de Verdad"
if (True && Verdadero) True
if (True && False) False
if (False && False) False
if (True || True ) True
if (True || False) True
if (False || False) False
El nombre de los operadores es:
| pipe
& ampersand
<> diples
Una utilidad para la operación MOD o % es para hallar números primos
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Main{classProgram{staticvoidMain(string[] args){ int a=0,i,n;Console.WriteLine("Ingrese numero"); n =Convert.ToInt32(Console.ReadLine());for(i=1;i<(n+1);i++){if(n%i==0){ a++;}}if(a!=2){Console.WriteLine("No es Primo");}else{Console.WriteLine("Si es Primo");}Console.ReadLine();}
Muy buen curso, solo que soy más fan de programar sin usar caracteres especiales, ya saben sin acentos y en ingles por estandarización
en los primeros videos se explica ;) , es una demostración de que en c# se admiten caracteres especiales con total soporte para la internacionalización de su código.
Los operadores lógicos vistos en clase.
///////////////////////////////////////////////////
&& (And):
True, False = False.
False, True = False.
True, True = True.
False, False = False.
|| (Or):
True, False = True.
False, True = True.
True, True = True.
False, False = False.
////////////////////////////////////////////////////
Se pueden anidar tantas veces como sea necesario.
También existe el operador XOR u OR exclusivo. Su simbolo es "^", y su funcionamiento es:
El comportamiento exclusivo, hace que solo nos retorne TRUE cuando hay una, y sola una condición verdadera. Un ejemplo con mas condiciones que retorne un valor TRUE sería:
(False) (False) (True) (False) (False) = True
Ya que una, y solo una resultó verdadera. En caso de que hubiera mas de una, el resultado cambiaria.
(False) (False) (True) (True) (False) = False
Boolean logical operators (C# reference)
|| o
Mayor que
< Menor que
% operación MOD (Residuo de una división)
otra forma de escribir una condición es:
condition ? consequent : alternative
Siento raro que después de ver cosas como clases, arreglos, metodos, ahora nos regresemos al if, haha.
Una declaración if es una instrucción que se ejecuta cuando una condición es verdadera.
La condición puede ser cualquier cosa que devuelva true o false.
.
Una clausula opcional else puede ser especificada para ejecutar un bloque de código cuando la condición en la declaración if evalua a falso.
.
Hacemos uso de los operadores relacionales para evaluar condiciones.
.
Hacemos uso de los operadores lógicos para unir multiples expresiones que devuelvan true o false.
.
Operadores
|| o or.
&& o and.
mayor que.
< menor que.
% operador MOD, retorna el residuo de una división.
Existen diferentes operadores que resultan útiles para verificar condicionales, algunos de ellos son:
|| o or.
&& o and.
mayor que.
< menor que.
% operador MOD, retorna el residuo de una división.
?? Uso combinado de null
Se evalúa como y si x es NULL; de lo contrario, se evalúa como x.
Escribe un ejemplo por favor
POdemos tener tantos if anidados como queramos, pero no es una buena practica
un if devuelve un boolean, es muy útil para saber de la existencia o inexistencia de algo.
elseif
es como...
elif
en otros lenguajes, por ejemplo Python
.
if(i <0){Console.WriteLine(".")}
.
gfgfgfggfg
Es necesario definir el valor de i o te dará un error.