Bienvenidos sean a este post, hasta ahora hemos visto conceptos basicos de C# pero hoy comenzaremos una serie de posts para dar a nuestros programa la capacidad de razonamiento, en el caso de hoy comenzaremos con el mas popular y universal de todos.
El condicional if es, o debe ser, el condicional mas utilizado en cualquier lenguaje de programacion, esta desde sus albores y con sutiles diferencias siempre tiene el mismo formato:
if (condicion) { ... instrucciones ... }
En este caso siempre tendremos una condicion que en caso de ser verdadera ejecutara las instrucciones contenidas en el bloque y en caso de no cumplirse la condicion, es decir que sea falsa la condicion, omite por completo el bloque de instrucciones, para entender este concepto vamos a generar un nuevo programa llamado condicional.cs y usaremos el siguiente codigo:
condicional.cs
using System;
public class Program
{
static int Main(string[] args)
{
string nombre;
int edad, anyo;
Console.WriteLine("Ingresa tu nombre: ");
nombre = Console.ReadLine();
Console.WriteLine("Ingresa tu edad: ");
edad = int.Parse(Console.ReadLine());
anyo = DateTime.Now.Year - edad;
Console.WriteLine("Hola, " + nombre);
Console.WriteLine("Tu edad es " + edad);
Console.WriteLine("Y naciste en " + anyo);
if (anyo>=2000)
{
Console.WriteLine("Ud. es una persona del siglo XXI");
}
return 0;
}
}
En este programa al comienzo tendremos tres variables, una de tipo string y luego dos de tipo int llamada anyo y edad, luego se encargara de recibir dos valores, primero para la variable nombre y luego para edad, en el caso de la edad usamos un metodo llamado Parse de la clase int para convertir nuestro valor en tipo int, esto es debido a que ReadLine devuelve valores de tipo string, luego asignaremos a anyo la diferencia entre el año actual (DateTime.Now.Year) y la edad que informamos, las siguientes lineas mostraran todos los datos y por ultimo tenemos un condicional donde verifica si anyo es mayor o igual que 2000, en caso de ser afirmativo nos mostrara un mensaje, luego tendremos un return 0 para salir del metodo, compilemos y probemos:
C:\Users\tinchicus\Documents\Visual Studio 2019>condicional
Ingresa tu nombre:
Tinchicus
Ingresa tu edad:
19
Hola, Tinchicus
Tu edad es 19
Y naciste en 2001
Ud. es una persona del siglo XXI
C:\Users\tinchicus\Documents\Visual Studio 2019>
En este caso podemos ver como funciono correctamente pero que sucederia con los casos que no cumple la condicion? Obviamente nada porque ignora completamente esta situacion, para este tipo de eventualidades existe un complemento para if llamada else, su sintaxis es la siguiente:
if (condicion) { ... instrucciones ... } else { ... instrucciones ... }
En este caso podemos ver como se agrega un nuevo bloque que solamente tiene la palabra else, en general esta palabra se lee como «de lo contrario» porque en realidad su unica funcion es capturar la condicion falsa del condicional anterior, dandonos la posibilidad de tomar una accion en caso de que no se cumpla la condicion, modifquemos nuevamente el codigo anterior:
using System;
public class Program
{
static int Main(string[] args)
{
string nombre;
int edad, anyo;
Console.WriteLine("Ingresa tu nombre: ");
nombre = Console.ReadLine();
Console.WriteLine("Ingresa tu edad: ");
edad = int.Parse(Console.ReadLine());
anyo = DateTime.Now.Year - edad;
Console.WriteLine("Hola, " + nombre);
Console.WriteLine("Tu edad es " + edad);
Console.WriteLine("Y naciste en " + anyo);
if (anyo>=2000)
{
Console.WriteLine("Ud. es una persona del siglo XXI");
} else {
Console.WriteLine("Ud. es una persona del siglo XX");
}
return 0;
}
}
Observen como usamos el else y en este caso sera usado para notificarnos que pertenecemos al siglo pasado, si lo probamos obtendremos la siguiente salida:
C:\Users\tinchicus\Documents\Visual Studio 2019>condicional
Ingresa tu nombre:
Tinchicus
Ingresa tu edad:
44
Hola, Tinchicus
Tu edad es 44
Y naciste en 1976
Ud. es una persona del siglo XX
C:\Users\tinchicus\Documents\Visual Studio 2019>
Con esto ya tendriamos cubierto los dos posibles estados de una condicion pero si necesitamos otra condicion? Para este caso existe otro modificador mas llamado else if, este a diferencia de else puede tener una condicion distinta a la primera para poder evaluar, pueden usar todas estas condiciones que sean necesarias, y siempre deben estar entre la primer condicion y el else, porque este es el que cierra la condicion, porque como dijimos antes cuando todo lo demas falle el entrara en accion, veamos su sintaxis:
if (condicion) { … instrucciones … } else if (condicion1) { … instrucciones … } else if (condicion2) { … instrucciones … } else if (condicion3) { … instrucciones … } …. else if (condicionN) { … instrucciones … } else { … instrucciones … }
Con esto explicado vamos a modificar por ultima vez el codigo para ver como trabaja else if:
using System;
public class Program
{
static int Main(string[] args)
{
string nombre;
int edad, anyo;
Console.WriteLine("Ingresa tu nombre: ");
nombre = Console.ReadLine();
Console.WriteLine("Ingresa tu edad: ");
edad = int.Parse(Console.ReadLine());
anyo = DateTime.Now.Year - edad;
Console.WriteLine("Hola, " + nombre);
Console.WriteLine("Tu edad es " + edad);
Console.WriteLine("Y naciste en " + anyo);
if (anyo>=2000)
{
Console.WriteLine("Ud. es una persona del siglo XXI");
}
else if(anyo<=2000 && anyo>=1950)
{
Console.WriteLine("Ud. es una persona del siglo XX");
}
else
{
Console.WriteLine("Ud. es Matusalem!!!");
}
return 0;
}
}
En este caso tenemos una condicion que evalua entre el año 2000 y el año 1950, donde si se cumple la condicion nos mostrara el mensaje anterior del else, y en else ahora mostraremos un nuevo mensaje, veamos como trabaja nuestro codigo final en el siguiente video
Con esto hemos cubierto el condicional if, como pueden darse cuenta es una herramienta muy poderosa que nos permite poder darle la capacidad de «razonar» a nuestros programas para que tome una decision en base a la informacion ingresada, otra particularidad es que tambien podemos anidarlo, es decir que una condicion puede tener otra condicion, otro bloque if, dentro del primer bloque, una contra muy importante es que si utilizamos o anidamos muchos podemos resultar en un codigo ilegible y a la hora de mejorarlo o tener que corregir un error puede resultar en algo muy complejo, usado con discrecion puede ser una herramienta fundamental para cualquier programador.
En resumen, hoy hemos visto que es el condicional if, su sintaxis, como trabaja, como por medio de unos modificadores podemos manejar otras opciones, su respectivas sintaxis, sus pros y sus contras, espero les haya sido util sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.
Tengo un Patreon donde podes acceder de manera exclusiva a material para este blog antes de ser publicado, sigue los pasos del link para saber como.


Tambien podes donar
Es para mantenimiento del sitio, gracias!
$1.50