Enum v C# je také známé jako enumerace. Používá se k uložení sady pojmenovaných konstant, jako je sezóna, dny, měsíc, velikost atd. Výčtové konstanty jsou také známé jako enumerátory. Enum v C# lze deklarovat v rámci nebo mimo třídu a struktury.
Výčtové konstanty mají výchozí hodnoty, které začínají od 0 a zvyšují se po jedné. Ale můžeme změnit výchozí hodnotu.
Body k zapamatování
- enum má pevnou sadu konstant
- enum zlepšuje bezpečnost typu
- enum lze procházet
Příklad výčtu C#
Podívejme se na jednoduchý příklad C# enum.
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); } }
Výstup:
WINTER = 0 SUMMER = 2
Příklad výčtu C# měnící počáteční index
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); } }
Výstup:
WINTER = 10 SUMMER = 12
Příklad výčtu C# pro dny
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); } }
Výstup:
Sun = 0 Mon = 1 Sat = 6
Příklad výčtu C#: procházení všech hodnot pomocí 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); } } }
Výstup:
Sun Mon Tue Wed Thu Fri Sat
Příklad výčtu C#: procházení všech hodnot pomocí 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); } } }
Výstup:
Sun Mon Tue Wed Thu Fri Sat