Kursinhalt
C# Über die Grundlagen Hinaus
C# Über die Grundlagen Hinaus
Enumeratoren
Enum, auch bekannt als Enumerator, ist eine Struktur zum Gruppieren einiger integraler Konstanten. Die Konstanten sind im Grunde vom Typ int
.
Folgendes ist die Syntax zum Erstellen eines Enums:
index
enum EnumName { Const1, Const2, Const3, ... }
Standardmäßig hat das erste Element eines Enums den Wert 0, das zweite Element hat den Wert 1
und so weiter.
Zum Beispiel:
index
enum Days { Monday, // 0 Tuesday, // 1 Wednesday, // 2 Thursday, // 3 Friday, // 4 Saturday, // 5 Sunday // 6 }
Wir können auf die Werte dieser Konstanten mit der Syntax enumName.constantName
zugreifen.
Zum Beispiel:
index
using 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 wir im obigen Beispiel die Konstante explizit in einen int
-Datentyp umwandeln müssen, da diese Konstanten standardmäßig vom Typ Days
sind, was bedeutet, dass das Enum Days
ein neuer Datentyp ist, den wir erstellt haben. Daher kann es in einer Variablen vom Typ Days
gespeichert werden:
Dies ist nützlich an Orten wie Switch-Anweisungen.
Zum Beispiel:
index
using 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; } } }
Wir können den Enum-Konstanten auch manuell Werte zuweisen. Die nicht zugewiesenen Konstanten nehmen inkrementierte Werte der vorherigen Elemente an:
index
using 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. In einem Enum, welcher ist der standardmäßige zugrunde liegende Typ für die Werte?
Danke für Ihr Feedback!