Created
May 16, 2014 00:47
-
-
Save Fhernd/70f7307d8ed2d89efd1b to your computer and use it in GitHub Desktop.
Demuestra el uso de enumeraciones con combinaciones.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ===++=== | |
// | |
// OrtizOL | |
// | |
// ===--=== | |
/*============================================================ | |
// | |
// Clase: DiasSemana.cs | |
// | |
// Propósito: Demuestra el uso de enumeraciones con | |
// combinaciones. | |
// | |
============================================================*/ | |
using System; | |
namespace Articulos.Cap03 | |
{ | |
internal enum Dias | |
{ | |
/** | |
* A cada constante se le asigna un valor binario. | |
* Este valor se genera a partir de realizar un | |
* desplazamiento a la izquierda. De uno por cada día. | |
**/ | |
Ninguno = 0, | |
Domingo = 1, | |
Lunes = 1 << 1, // Desplazamiento-izquierda 1 bit | |
Martes = 1 << 2, // Desplazamiento-izquierda 2 bits | |
Miercoles = 1 << 3, // Desplazamiento-izquierda 3 bits | |
Jueves = 1 << 4, // Desplazamiento-izquierda 4 bits | |
Viernes = 1 << 5, // Desplazamiento-izquierda 5 bits | |
Sabado = 1 << 6, // Desplazamiento-izquierda 6 bits | |
FinDeSemana = Viernes | Sabado | Domingo, | |
Laborales = Lunes | Martes | Miercoles | Jueves | Viernes | |
} | |
///<summary> | |
/// Representa un evento programable | |
///</summary> | |
internal class Evento | |
{ | |
///<summary> | |
/// Nombre del evento a programar. | |
///</summary> | |
public string NombreEvento | |
{ | |
get; | |
set; | |
} | |
///<summary> | |
/// Fecha en la que se realizará el evento. | |
///</summary> | |
public DateTime HoraEvento | |
{ | |
get; | |
set; | |
} | |
///<summary> | |
/// Días en los que se repite el evento. | |
///</summary> | |
public Dias RepeticionEvento | |
{ | |
get; | |
set; | |
} | |
} | |
///<summary> | |
/// Clase de prueba de la enumeración `Dias` y la clase `Evento`. | |
///</summary> | |
internal class PruebaDiasSemana | |
{ | |
public static void Main() | |
{ | |
// Crea un evento: | |
Evento evento = new Evento(); | |
evento.NombreEvento = "Escribir acerca de enumeraciones en C#."; | |
evento.HoraEvento = DateTime.Parse("Thursday 22 May 2014 13:17:19"); | |
// Asignación de la repetición de los eventos: | |
evento.RepeticionEvento = Dias.Lunes | Dias.Miercoles | Dias.Viernes; | |
// Muestra en la salida estándar los detalles del evento: | |
Console.WriteLine("Resumen del evento:"); | |
Console.WriteLine("\tNombre evento: {0}", evento.NombreEvento); | |
Console.WriteLine("\tFecha y hora evento: {0}", evento.HoraEvento); | |
Console.WriteLine("\tDía(s) evento: {0}", evento.RepeticionEvento.ToString("F")); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment