La enumeración en C# también se conoce como enumeración. Se utiliza para almacenar un conjunto de constantes con nombre, como temporada, días, mes, tamaño, etc. Las constantes enumeradas también se conocen como enumeradores. Enum en C# se puede declarar dentro o fuera de clases y estructuras.
Las constantes de enumeración tienen valores predeterminados que comienzan desde 0 y se incrementan uno por uno. Pero podemos cambiar el valor predeterminado.
Puntos para recordar
- enumeración tiene un conjunto fijo de constantes
- enum mejora la seguridad de tipos
- la enumeración se puede atravesar
Ejemplo de enumeración de C#
Veamos un ejemplo sencillo de enumeración de C#.
using System; public class EnumExample { public enum Season { WINTER, SPRING, SUMMER, FALL } public static void Main() { int x = (int)Season.WINTER; int y = (int)Season.SUMMER; Console.WriteLine('WINTER = {0}', x); Console.WriteLine('SUMMER = {0}', y); } }
Producción:
WINTER = 0 SUMMER = 2
Ejemplo de enumeración de C# cambiando el índice de inicio
using System; public class EnumExample { public enum Season { WINTER=10, SPRING, SUMMER, FALL } public static void Main() { int x = (int)Season.WINTER; int y = (int)Season.SUMMER; Console.WriteLine('WINTER = {0}', x); Console.WriteLine('SUMMER = {0}', y); } }
Producción:
WINTER = 10 SUMMER = 12
Ejemplo de enumeración de C# para días
using System; public class EnumExample { public enum Days { Sun, Mon, Tue, Wed, Thu, Fri, Sat }; public static void Main() { int x = (int)Days.Sun; int y = (int)Days.Mon; int z = (int)Days.Sat; Console.WriteLine('Sun = {0}', x); Console.WriteLine('Mon = {0}', y); Console.WriteLine('Sat = {0}', z); } }
Producción:
Sun = 0 Mon = 1 Sat = 6
Ejemplo de enumeración de C#: atravesar todos los valores usando getNames()
using System; public class EnumExample { public enum Days { Sun, Mon, Tue, Wed, Thu, Fri, Sat }; public static void Main() { foreach (string s in Enum.GetNames(typeof(Days))) { Console.WriteLine(s); } } }
Producción:
Sun Mon Tue Wed Thu Fri Sat
Ejemplo de enumeración de C#: atravesar todos los valores usando getValues()
using System; public class EnumExample { public enum Days { Sun, Mon, Tue, Wed, Thu, Fri, Sat }; public static void Main() { foreach (Days d in Enum.GetValues(typeof(Days))) { Console.WriteLine(d); } } }
Producción:
Sun Mon Tue Wed Thu Fri Sat