logo

C# Enum

Enum v C# je znan tudi kot enumeration. Uporablja se za shranjevanje nabora poimenovanih konstant, kot so sezona, dnevi, mesec, velikost itd. Konstante enum so znane tudi kot števci. Enum v C# je mogoče deklarirati znotraj ali zunaj razreda in struktur.

Enum konstante imajo privzete vrednosti, ki se začnejo od 0 in se povečujejo na eno za drugo. Lahko pa spremenimo privzeto vrednost.

Točke, ki si jih je treba zapomniti

  • enum ima fiksen niz konstant
  • enum izboljša varnost tipov
  • enum je mogoče prečkati

Primer enuma C#

Oglejmo si preprost primer enuma 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); } } 

Izhod:

 WINTER = 0 SUMMER = 2 

Primer enuma C#, ki spreminja začetni indeks

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

Izhod:

 WINTER = 10 SUMMER = 12 

Primer naštevanja C# za 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); } } 

Izhod:

 Sun = 0 Mon = 1 Sat = 6 

Primer enuma C#: prečkanje vseh vrednosti z uporabo 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); } } } 

Izhod:

 Sun Mon Tue Wed Thu Fri Sat 

Primer enuma C#: prečkanje vseh vrednosti z uporabo 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); } } } 

Izhod:

 Sun Mon Tue Wed Thu Fri Sat