Las estructuras condicionales en C#, así como en cualquier otro lenguaje de programación, puede estar formada por un solo if, o por varios if anidados. Este tipo de estructuras se utilizan cuando queremos modificar el flujo de un programa.
En primer lugar ya sabemos que un programa siempre se ejecuta de arriba hacia abajo, pero con las estructuras condicionales como por ejemplo, la estructura if o la estructura switch, podemos modificar el flujo del programa a nuestro antojo.
En segundo lugar podemos traducir esta estructura if como; Si se cumple una condición concreta, se ejecutarán una serie de instrucciones, en caso contrario, se ejecutarán otras diferentes.
Condicionales en C# if – else.
En este caso, vamos a ver un ejemplo de estructura if simple. Con esta estructura se consigue que si se cumple una condición se ejecute un bloque de código. En caso contrario, el programa ejecutará el bloque del else.
using System;
namespace Condicionales
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Introduce tu edad");
// Almacenamos la edad del usuario en una variable tipo int
int edad = Convert.ToInt32(Console.ReadLine());
if (edad < 18) { // Si la condicion se cumple
// mostramos este mensaje
Console.WriteLine("Eres menor de edad.");
}
else // En caso contrario...
{
// Mostramos otro mensaje
Console.WriteLine("El número introducido no es correcto.");
}
// Paramos la consola para ver el resultado.
Console.ReadKey();
}
}
}
Condicionales en C# if y elseif.
Este tipo de estructura consiste en anidar varios if para evaluar varias condiciones. Vamos a crear un ejemplo para verlo más claro. De esta forma el programa evaluará diferentes condiciones de forma que ejecutará la que corresponda en cada caso.
using System;
namespace Condicionales
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Introduce tu edad");
// Almacenamos la edad del usuario en una variable tipo int
int edad = Convert.ToInt32(Console.ReadLine());
if (edad < 18) { // Si la condicion se cumple
// mostramos este mensaje
Console.WriteLine("Eres menor de edad.");
} else if (edad >= 18 || edad <= 40){ // Si no se cuemple la anterior...
// Mostramos otro mensaje
Console.WriteLine("Eres una persona adulta.");
} else if (edad >= 40 || edad = 65){ // Si no se cumple la segunda...
// Mostramos otro mensaje
Console.WriteLine("Te estas haciendo viejo.");
} else if (edad > 65){ // Si no se cumple la tercera...
// Mostramos otro mensaje
Console.WriteLine("Eres de la tercera edad.");
}
else
{ // Si no se cumple ninguna de las 4 anteriores...
// Mostramos otro mensaje
Console.WriteLine("El número introducido no es correcto.");
}
// Paramos la consola para ver el resultado.
Console.ReadKey();
}
}
}
Switch case. Estructura alternativa al if en C#.
Esta estructura podemos traducirla como «selecciona el caso, dependiendo del valor que tome una variable. Es una estructura condicional que viene a sustituir al if anidado en cierta medida. En cambio, esta estructura solo evaluará un valor, de forma que dentro de los paréntesis de este método, solo podrá incluirse el nombre de una variable. Es una buena practica ya que en caso de poder utilizarse, dejará el código mas limpio que en en caso anterior.
using System;
namespace Condicionales
{
class Program
{
static void Main(string[] args)
{
// Pedimos un número de dia
Console.WriteLine("Introduce un dia");
// Almacenamos el día en una variable tipo int
int dia = Convert.ToInt32(Console.ReadLine());
switch (dia)
{
case 1: // Si el usuario escribe un 1
Console.WriteLine("Es lunes");
break;
case 2: // Si el usuario escribe un 2
Console.WriteLine("Es martes");
break;
case 3: // Si el usuario escribe un 3
Console.WriteLine("Es miércoles");
break;
case 4: // Si el usuario escribe un 4
Console.WriteLine("Es jueves");
break;
case 5: // Si el usuario escribe un 5
Console.WriteLine("Es viernes");
break;
case 6: // Si el usuario escribe un 5
Console.WriteLine("Es sábado");
break;
case 7: // Si el usuario escribe un 5
Console.WriteLine("Es domingo");
break;
default: // Si teclea un valor diferente...
Console.WriteLine("Debes teclear un número entre 1 y 7");
}
// Paramos la consola para ver el resultado.
Console.ReadKey();
}
}
}
Como se puede observar, en este caso, este tipo de estructuras se usa de forma idéntica al lenguaje de programación java.