Enum em C# também é conhecido como enumeração. É usado para armazenar um conjunto de constantes nomeadas, como estação, dias, mês, tamanho, etc. As constantes enum também são conhecidas como enumeradores. Enum em C# pode ser declarado dentro ou fora de classes e estruturas.
As constantes Enum têm valores padrão que começam em 0 e são incrementados um por um. Mas podemos alterar o valor padrão.
Pontos para lembrar
- enum tem um conjunto fixo de constantes
- enum melhora a segurança do tipo
- enum pode ser percorrido
Exemplo de enumeração C#
Vamos ver um exemplo simples de enum 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); } }
Saída:
WINTER = 0 SUMMER = 2
Exemplo de enum C# alterando o índice inicial
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); } }
Saída:
WINTER = 10 SUMMER = 12
Exemplo de enum C# para dias
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); } }
Saída:
Sun = 0 Mon = 1 Sat = 6
Exemplo de enum C#: percorrendo todos os 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); } } }
Saída:
Sun Mon Tue Wed Thu Fri Sat
Exemplo de enum C#: percorrendo todos os 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); } } }
Saída:
Sun Mon Tue Wed Thu Fri Sat