using System; 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 } public class Test { public static void Main() { Dias lunes = Dias.Lunes; Dias miercoles = Dias.Miercoles; Dias suma = lunes + (1 << 1); Console.WriteLine("Suma de `lunes` y `(1 << 1)`: {0}", suma.ToString("F")); Dias resta = miercoles - (1 << 2); Console.WriteLine("Resta de `miercoles` y (1 << 2)`: {0}", resta.ToString("F")); } }