logo

C# Enum

Enum en C# també es coneix com a enumeració. S'utilitza per emmagatzemar un conjunt de constants anomenades com ara temporada, dies, mes, mida, etc. Les constants d'enumeració també es coneixen com a enumeradors. La enumeració en C# es pot declarar dins o fora de classe i estructures.

Les constants d'enumeració tenen valors per defecte que comencen des de 0 i s'incrementen d'un en un. Però podem canviar el valor predeterminat.

Punts a recordar

  • enum té un conjunt fix de constants
  • enum millora la seguretat del tipus
  • enum es pot recórrer

Exemple d'enumeració C#

Vegem un exemple senzill d'enumeració 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); } } 

Sortida:

 WINTER = 0 SUMMER = 2 

Exemple d'enumeració C# canviant l'índex d'inici

 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); } } 

Sortida:

 WINTER = 10 SUMMER = 12 

Exemple d'enumeració C# per a Days

 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); } } 

Sortida:

 Sun = 0 Mon = 1 Sat = 6 

Exemple d'enumeració C#: travessant tots els valors mitjançant 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); } } } 

Sortida:

 Sun Mon Tue Wed Thu Fri Sat 

Exemple d'enumeració C#: travessant tots els valors mitjançant 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); } } } 

Sortida:

 Sun Mon Tue Wed Thu Fri Sat