Programando en C Sharp – 03

Hola!!! como van estimados lectores? todo bien? pues yo ando con las ganas de programar en C#, motivos? mmm… mejorar y compartir :D En esta ocasión vamos con la selección múltiple, para qué sirve? pues para evitar escribir tantos IFs como sean necesarios, es decir una manera óptima de reducir código fuente, veamos:


namespace Estaciones
{
 class Estaciones
 {
 static void Main(string[] args)
 {
 Console.WriteLine("Determinando la estación del año");
 Console.WriteLine("--------------------------------");
 Console.Write("Ingrese número de día: ");
 byte dia = byte.Parse(Console.ReadLine());
 // byte representa a un número de tamaño relavitamente
 // pequeño como se requiere[0-255], que sea hábito el tener en cuenta
 // los tipos de datos para trabajar pensando en la memoria...

y continuando con el ejemplo:

 Console.Write("Ingrese número de mes: ");
 byte mes = byte.Parse(Console.ReadLine());

 // Ahora vamos por lo antes mencionado, el switch case!
 // Si no conocen, se puede implementar haciendo uso de muchos IFs.
 // Primero debemos tener la variable que vamos a evaluar:

 Console.Write("La estación es: ");

 switch (mes)
 {
 case 1:
 Console.WriteLine("Verano");
 break;
 // el break está presente para detener la ejecución del "caso1"
 // y evitar -> Error: El control no puede pasar explícitamente
 // de una etiqueta de caso a otra ('case 1:')
 // En otras palabras, llegamos al case 1.
 // se ejecuta y ahi queda [break].
 case 2:
 Console.WriteLine("Verano");
 break;
 case 3:
 if(dia<21)
 Console.WriteLine("Verano");
 else
 Console.WriteLine("Otoño");
 break;
 case 4:
 Console.WriteLine("Otoño");
 break;
 case 5:
 Console.WriteLine("Otoño");
 break;
 case 6:
 if(dia<22)
 Console.WriteLine("Otoño");
 else
 Console.WriteLine("Invierno");
 break;
 case 7:
 Console.WriteLine("Invierno");
 break;
 case 8:
 Console.WriteLine("Invierno");
 break;
 case 9:
 if(dia<23)
 Console.WriteLine("Invierno");
 else
 Console.WriteLine("Primavera");
 break;
 case 10:
 Console.WriteLine("Primavera");
 break;
 case 11:
 Console.WriteLine("Primavera");
 break;
 case 12:
 if(dia<21)
 Console.WriteLine("Primavera");
 else
 Console.WriteLine("Verano");
 break;

 // También podemos realizar una ejecución por "defecto", es decir
 // si no encaja los valores con los casos dados, entonces nada sucederá
 // pero... como diría un profesor que me enseño IHC, el usuario tiene que
 // conocer lo que pasa con el sistema, tener la idea de la situación en
 // que está, asi que... una opción "default" apoyaría este aspecto, codificado
 // de la siguiente manera:
 default:
 Console.WriteLine("El número del mes ingresado es incorrecto");
 break;
 }
 Console.ReadLine();
 }
 }
}

Saludos!!