Enums definieren und verwenden
Erstellen Sie Enums mit expliziten und impliziten Werten.
Enums definieren und verwenden ist eine kostenlose C# Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des C# Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der C# Academy-Kurs umfasst insgesamt 4 Lektionen.
Was ist ein Enum?
Ein enum ist eine benannte Menge zusammengehöriger Konstanten. Es macht Code lesbarer, indem es schwer verständliche Zahlenwerte durch aussagekräftige Namen ersetzt.
using System;
enum Direction { North, East, South, West }
class Program {
static void Main() {
Direction d = Direction.East;
Console.WriteLine(d);
}
}Ein Enum deklarieren
Sie deklarieren ein Enum mit dem Schlüsselwort enum und listen seine Member auf. Standardmäßig ist der erste Wert 0, der nächste 1 und so weiter.
using System;
enum Day { Mon, Tue, Wed }
class Program {
static void Main() {
Console.WriteLine((int)Day.Mon);
Console.WriteLine((int)Day.Wed);
}
}Benutzerdefinierte zugrunde liegende Werte
Sie können Zahlen explizit zuweisen. Nicht zugewiesene Member setzen die Zählung ab dem vorherigen Wert fort.
using System;
enum Status { Active = 1, Paused = 5, Stopped }
class Program {
static void Main() {
Console.WriteLine((int)Status.Stopped);
}
}Den zugrunde liegenden Typ auswählen
Enums verwenden standardmäßig int, Sie können jedoch auch einen anderen Ganzzahltyp wie byte auswählen, um Speicherplatz zu sparen.
using System;
enum Level : byte { Low = 1, High = 200 }
class Program {
static void Main() {
Console.WriteLine((byte)Level.High);
}
}Enums in Variablen
Verwenden Sie einen Enum-Typ wie jeden anderen Typ für Variablen, Parameter und Felder.
using System;
enum Color { Red, Green, Blue }
class Program {
static void Describe(Color c) {
Console.WriteLine("Color is " + c);
}
static void Main() {
Describe(Color.Green);
}
}Enums in switch
Enums eignen sich hervorragend zusammen mit switch für klare und vollständige Verzweigungen.
using System;
enum Signal { Stop, Go, Caution }
class Program {
static void Main() {
Signal s = Signal.Go;
switch (s) {
case Signal.Stop: Console.WriteLine("Halt"); break;
case Signal.Go: Console.WriteLine("Move"); break;
default: Console.WriteLine("Slow"); break;
}
}
}Enum-Werte vergleichen
Enum-Werte können mit == und Vergleichsoperatoren verglichen werden, die auf ihren zugrunde liegenden Zahlenwerten basieren.
using System;
enum Priority { Low, Medium, High }
class Program {
static void Main() {
Console.WriteLine(Priority.High > Priority.Low);
}
}Standardwert eines Enums
Ein nicht initialisiertes Enum entspricht dem Member mit dem Wert 0. Es ist empfehlenswert, 0 einen sinnvollen Standardwert wie None zuzuweisen.
using System;
enum Mode { None, Fast, Slow }
class Program {
static void Main() {
Mode m = default;
Console.WriteLine(m);
}
}Enum-Namen ausgeben
Der Aufruf von ToString oder die Ausgabe eines Enums zeigt den Namen des Members an, was wesentlich verständlicher ist als eine rohe Zahl.
using System;
enum Fruit { Apple, Banana, Cherry }
class Program {
static void Main() {
Console.WriteLine(Fruit.Banana.ToString());
}
}Enums verbessern die Lesbarkeit
Im Vergleich zur Übergabe einfacher Ganzzahlen dokumentieren Enums die Absicht und verhindern ungültige Werte.
using System;
enum Size { Small, Medium, Large }
class Program {
static int PriceFor(Size s) {
return s == Size.Large ? 12 : 8;
}
static void Main() {
Console.WriteLine(PriceFor(Size.Large));
}
}Wo Enums deklariert werden
Enums können auf Namespace-Ebene oder innerhalb einer Klasse stehen. Halten Sie sie in der Nähe des Codes, der sie verwendet.
using System;
class Program {
enum Phase { Start, Run, End }
static void Main() {
Console.WriteLine(Phase.Run);
}
}Schnelltest
Testen Sie Ihr Verständnis von Enums.
Zusammenfassung
Ein enum definiert eine Menge benannter Konstanten und verbessert dadurch die Lesbarkeit gegenüber schwer verständlichen Zahlenwerten. Member haben standardmäßig die Werte 0, 1, 2 usw., Sie können jedoch explizite Werte zuweisen und sogar den zugrunde liegenden Ganzzahltyp ändern.
Enums funktionieren hervorragend in Variablen, switch-Anweisungen und Vergleichen, geben ihre Member-Namen aus und verwenden standardmäßig den Member mit dem Wert 0.
Häufig gestellte Fragen
Ist die Lektion „Enums definieren und verwenden“ kostenlos?
Ja — der vollständige Text von „Enums definieren und verwenden“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des C# Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der C# Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Enums definieren und verwenden“?
Erstellen Sie Enums mit expliziten und impliziten Werten. Du übst C# Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um C# Academy zu starten?
Keine Vorkenntnisse erforderlich. C# Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „Enums definieren und verwenden“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser C# Academy-Lektion Code schreiben und ausführen?
Ja. Jede C# Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Enums definieren und verwenden
- Flags-Enums und bitweise Kombinationen
- Enum-Konvertierungen und Parsing
- Enum-Werte durchlaufen