Enum wird in C# auch als Enumeration bezeichnet. Es wird zum Speichern einer Reihe benannter Konstanten wie Jahreszeit, Tage, Monat, Größe usw. verwendet. Die Enumerationskonstanten werden auch als Enumeratoren bezeichnet. Enum in C# kann innerhalb oder außerhalb von Klassen und Strukturen deklariert werden.
Enum-Konstanten haben Standardwerte, die bei 0 beginnen und nach und nach erhöht werden. Aber wir können den Standardwert ändern.
Punkte, die man sich merken sollte
- enum hat einen festen Satz von Konstanten
- enum verbessert die Typsicherheit
- enum kann durchlaufen werden
C#-Enum-Beispiel
Sehen wir uns ein einfaches Beispiel einer C#-Enumeration an.
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); } }
Ausgabe:
WINTER = 0 SUMMER = 2
C#-Enum-Beispiel zum Ändern des Startindex
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); } }
Ausgabe:
WINTER = 10 SUMMER = 12
C#-Enum-Beispiel für 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); } }
Ausgabe:
Sun = 0 Mon = 1 Sat = 6
C#-Enum-Beispiel: Durchlaufen aller Werte mit 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); } } }
Ausgabe:
Sun Mon Tue Wed Thu Fri Sat
C#-Enum-Beispiel: Durchlaufen aller Werte mit 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); } } }
Ausgabe:
Sun Mon Tue Wed Thu Fri Sat