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()
{
int tamanioEnum = sizeof(Dias);
Console.WriteLine("El tamaño de la enumeración `Dias` es {0} bytes", tamanioEnum);
}
}
dXNpbmcgU3lzdGVtOwoKaW50ZXJuYWwgZW51bSBEaWFzCnsKICAgIC8qKgogICAgKiBBIGNhZGEgY29uc3RhbnRlIHNlIGxlIGFzaWduYSB1biB2YWxvciBiaW5hcmlvLgogICAgKiBFc3RlIHZhbG9yIHNlIGdlbmVyYSBhIHBhcnRpciBkZSByZWFsaXphciB1biAKICAgICogZGVzcGxhemFtaWVudG8gYSBsYSBpenF1aWVyZGEuIERlIHVubyBwb3IgY2FkYSBkw61hLgogICAgKiovCiAgICBOaW5ndW5vICAgICA9IDAsCiAgICBEb21pbmdvICAgICA9IDEsCiAgICBMdW5lcyAgICAgICA9IDEgPDwgMSwgICAgLy8gRGVzcGxhemFtaWVudG8taXpxdWllcmRhIDEgYml0CiAgICBNYXJ0ZXMgICAgICA9IDEgPDwgMiwgICAgLy8gRGVzcGxhemFtaWVudG8taXpxdWllcmRhIDIgYml0cwogICAgTWllcmNvbGVzICAgPSAxIDw8IDMsICAgIC8vIERlc3BsYXphbWllbnRvLWl6cXVpZXJkYSAzIGJpdHMKICAgIEp1ZXZlcyAgICAgID0gMSA8PCA0LCAgICAvLyBEZXNwbGF6YW1pZW50by1penF1aWVyZGEgNCBiaXRzCiAgICBWaWVybmVzICAgICA9IDEgPDwgNSwgICAgLy8gRGVzcGxhemFtaWVudG8taXpxdWllcmRhIDUgYml0cwogICAgU2FiYWRvICAgICAgPSAxIDw8IDYsCSAvLyBEZXNwbGF6YW1pZW50by1penF1aWVyZGEgNiBiaXRzCiAgICBGaW5EZVNlbWFuYSA9IFZpZXJuZXMgfCBTYWJhZG8gfCBEb21pbmdvLAogICAgTGFib3JhbGVzICAgPSBMdW5lcyB8IE1hcnRlcyB8IE1pZXJjb2xlcyB8IEp1ZXZlcyB8IFZpZXJuZXMKfQoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCWludCB0YW1hbmlvRW51bSA9IHNpemVvZihEaWFzKTsKCQkKCQlDb25zb2xlLldyaXRlTGluZSgiRWwgdGFtYcOxbyBkZSBsYSBlbnVtZXJhY2nDs24gYERpYXNgIGVzIHswfSBieXRlcyIsIHRhbWFuaW9FbnVtKTsKCX0KfQ==