Enumeratoren
Enum, auch bekannt als Enumerator, ist eine Struktur zur Gruppierung von Ganzzahlkonstanten. Die Konstanten sind im Wesentlichen vom Typ int
.
Nachfolgend die Syntax zur Erstellung eines Enums:
index.cs
1234567enum EnumName { Const1, Const2, Const3, ... }
Standardmäßig hat das erste Element eines Enums den Wert 0, das zweite Element den Wert 1
und so weiter.
Beispiel:
index.cs
12345678910enum Days { Monday, // 0 Tuesday, // 1 Wednesday, // 2 Thursday, // 3 Friday, // 4 Saturday, // 5 Sunday // 6 }
Auf die Werte dieser Konstanten kann mit der Syntax enumName.constantName
zugegriffen werden.
Beispiel:
index.cs
123456789101112131415161718192021222324using System; enum Days { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday } class ConsoleApp { static void Main(string[] args) { // Explicitly converting the enum elements to 'int' and then outputting them Console.WriteLine((int)Days.Monday); // 0 Console.WriteLine((int)Days.Wednesday); // 2 Console.WriteLine((int)Days.Friday); // 4 Console.WriteLine((int)Days.Sunday); // 6 } }
Beachten Sie, dass Sie im obigen Beispiel die Konstante explizit in einen int
-Datentyp umwandeln müssen, da diese Konstanten standardmäßig vom Typ Days
sind. Das bedeutet, dass das Enum Days
ein neuer Datentyp ist, den Sie erstellt haben. Daher kann es in einer Variablen vom Typ Days
gespeichert werden:
Days day = Days.Friday;
Dies ist beispielsweise in switch-Anweisungen nützlich.
Beispiel:
index.cs
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748using System; enum Days { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday } class ConsoleApp { static void Main(string[] args) { Days day = Days.Friday; switch (day) { case Days.Monday: Console.WriteLine("It is Monday"); break; case Days.Tuesday: Console.WriteLine("It is Tuesday"); break; case Days.Wednesday: Console.WriteLine("It is Wednesday"); break; case Days.Thursday: Console.WriteLine("It is Thursday"); break; case Days.Friday: Console.WriteLine("It is Friday"); break; case Days.Saturday: Console.WriteLine("It is Saturday"); break; case Days.Sunday: Console.WriteLine("It is Sunday"); break; default: Console.WriteLine("Invalid Day"); break; } } }
Sie können den Enum-Konstanten auch manuell Werte zuweisen. Die nicht zugewiesenen Konstanten erhalten inkrementierte Werte der vorherigen Elemente:
index.cs
123456789101112131415161718192021222324252627using System; enum Days { Monday, Tuesday, Wednesday = 5, Thursday, Friday, Saturday = 10, Sunday } class ConsoleApp { static void Main(string[] args) { // Explicitly converting the enum elements to 'int' and then outputting them Console.WriteLine((int)Days.Monday); Console.WriteLine((int)Days.Tuesday); Console.WriteLine((int)Days.Wednesday); Console.WriteLine((int)Days.Thursday); Console.WriteLine((int)Days.Friday); Console.WriteLine((int)Days.Saturday); Console.WriteLine((int)Days.Sunday); } }
1. Was ist ein Enum in C#?
2. Welches Schlüsselwort wird zur Definition eines Enums verwendet?
3. Welcher zugrunde liegende Typ wird standardmäßig für die Werte in einem Enum verwendet?
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 2.04
Enumeratoren
Swipe um das Menü anzuzeigen
Enum, auch bekannt als Enumerator, ist eine Struktur zur Gruppierung von Ganzzahlkonstanten. Die Konstanten sind im Wesentlichen vom Typ int
.
Nachfolgend die Syntax zur Erstellung eines Enums:
index.cs
1234567enum EnumName { Const1, Const2, Const3, ... }
Standardmäßig hat das erste Element eines Enums den Wert 0, das zweite Element den Wert 1
und so weiter.
Beispiel:
index.cs
12345678910enum Days { Monday, // 0 Tuesday, // 1 Wednesday, // 2 Thursday, // 3 Friday, // 4 Saturday, // 5 Sunday // 6 }
Auf die Werte dieser Konstanten kann mit der Syntax enumName.constantName
zugegriffen werden.
Beispiel:
index.cs
123456789101112131415161718192021222324using System; enum Days { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday } class ConsoleApp { static void Main(string[] args) { // Explicitly converting the enum elements to 'int' and then outputting them Console.WriteLine((int)Days.Monday); // 0 Console.WriteLine((int)Days.Wednesday); // 2 Console.WriteLine((int)Days.Friday); // 4 Console.WriteLine((int)Days.Sunday); // 6 } }
Beachten Sie, dass Sie im obigen Beispiel die Konstante explizit in einen int
-Datentyp umwandeln müssen, da diese Konstanten standardmäßig vom Typ Days
sind. Das bedeutet, dass das Enum Days
ein neuer Datentyp ist, den Sie erstellt haben. Daher kann es in einer Variablen vom Typ Days
gespeichert werden:
Days day = Days.Friday;
Dies ist beispielsweise in switch-Anweisungen nützlich.
Beispiel:
index.cs
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748using System; enum Days { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday } class ConsoleApp { static void Main(string[] args) { Days day = Days.Friday; switch (day) { case Days.Monday: Console.WriteLine("It is Monday"); break; case Days.Tuesday: Console.WriteLine("It is Tuesday"); break; case Days.Wednesday: Console.WriteLine("It is Wednesday"); break; case Days.Thursday: Console.WriteLine("It is Thursday"); break; case Days.Friday: Console.WriteLine("It is Friday"); break; case Days.Saturday: Console.WriteLine("It is Saturday"); break; case Days.Sunday: Console.WriteLine("It is Sunday"); break; default: Console.WriteLine("Invalid Day"); break; } } }
Sie können den Enum-Konstanten auch manuell Werte zuweisen. Die nicht zugewiesenen Konstanten erhalten inkrementierte Werte der vorherigen Elemente:
index.cs
123456789101112131415161718192021222324252627using System; enum Days { Monday, Tuesday, Wednesday = 5, Thursday, Friday, Saturday = 10, Sunday } class ConsoleApp { static void Main(string[] args) { // Explicitly converting the enum elements to 'int' and then outputting them Console.WriteLine((int)Days.Monday); Console.WriteLine((int)Days.Tuesday); Console.WriteLine((int)Days.Wednesday); Console.WriteLine((int)Days.Thursday); Console.WriteLine((int)Days.Friday); Console.WriteLine((int)Days.Saturday); Console.WriteLine((int)Days.Sunday); } }
1. Was ist ein Enum in C#?
2. Welches Schlüsselwort wird zur Definition eines Enums verwendet?
3. Welcher zugrunde liegende Typ wird standardmäßig für die Werte in einem Enum verwendet?
Danke für Ihr Feedback!