Enum-Werte durchlaufen
Ermitteln Sie alle Member mit Enum.GetValues.
Enum-Werte durchlaufen ist eine kostenlose C# Academy-Lektion auf CoddyKit. Dies ist Lektion 4 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.
Enum-Member auflisten
Manchmal benötigen Sie jeden Wert eines Enums, beispielsweise zum Erstellen eines Menüs. Enum.GetValues stellt diese Werte bereit.
using System;
enum Day { Mon, Tue, Wed }
class Program {
static void Main() {
foreach (Day d in Enum.GetValues<Day>())
Console.WriteLine(d);
}
}Generisches GetValues
Das generische Enum.GetValues<T>() gibt ein stark typisiertes Array zurück, das Sie direkt durchlaufen können.
using System;
enum Color { Red, Green, Blue }
class Program {
static void Main() {
Color[] all = Enum.GetValues<Color>();
Console.WriteLine(all.Length);
}
}Membernamen abrufen
Enum.GetNames<T>() gibt die Membernamen als Zeichenfolgen zurück.
using System;
enum Color { Red, Green, Blue }
class Program {
static void Main() {
foreach (string name in Enum.GetNames<Color>())
Console.WriteLine(name);
}
}Namen und Werte zusammen
Durchlaufen Sie die Werte und konvertieren Sie sie in int, um sowohl den Namen als auch die zugrunde liegende Zahl auszugeben.
using System;
enum Color { Red = 1, Green = 2, Blue = 4 }
class Program {
static void Main() {
foreach (Color c in Enum.GetValues<Color>())
Console.WriteLine(c + " = " + (int)c);
}
}Member zählen
Anhand der Länge des Wertearrays erkennen Sie, wie viele Member das Enum enthält.
using System;
enum Suit { Hearts, Diamonds, Clubs, Spades }
class Program {
static void Main() {
int count = Enum.GetValues<Suit>().Length;
Console.WriteLine(count);
}
}Ein Menü erstellen
Das Durchlaufen der Werte eignet sich hervorragend, um eine nummerierte Auswahlliste auszugeben.
using System;
enum Option { Start, Settings, Quit }
class Program {
static void Main() {
int i = 1;
foreach (Option o in Enum.GetValues<Option>())
Console.WriteLine(i++ + ") " + o);
}
}Beim Durchlaufen filtern
Sie können bestimmte Member beim Durchlaufen überspringen, beispielsweise einen None-Platzhalter.
using System;
enum State { None, Active, Closed }
class Program {
static void Main() {
foreach (State s in Enum.GetValues<State>())
if (s != State.None)
Console.WriteLine(s);
}
}Mit LINQ durchlaufen
Kombinieren Sie Enum.GetValues mit LINQ zum Filtern oder Transformieren.
using System;
using System.Linq;
enum Level { Low = 1, Medium = 2, High = 3 }
class Program {
static void Main() {
var highOnes = Enum.GetValues<Level>().Where(l => (int)l >= 2);
foreach (var l in highOnes) Console.WriteLine(l);
}
}Ältere nicht generische Form
Vor der Einführung von Generics verwendeten Sie Enum.GetValues(typeof(T)), das ein nicht typisiertes Array zurückgibt.
using System;
enum Color { Red, Green, Blue }
class Program {
static void Main() {
foreach (Color c in Enum.GetValues(typeof(Color)))
Console.WriteLine(c);
}
}Flags und Durchlaufen
Bei Flags-Enums werden beim Durchlaufen alle einzelnen Flags aufgelistet. Auch kombinierte Komfort-Member erscheinen, filtern Sie sie bei Bedarf heraus.
using System;
[Flags]
enum Perm { Read = 1, Write = 2, Execute = 4 }
class Program {
static void Main() {
foreach (Perm p in Enum.GetValues<Perm>())
Console.WriteLine(p + " = " + (int)p);
}
}Warum Enums durchlaufen werden
Durch das Durchlaufen bleiben Benutzeroberfläche und Validierung mit dem Enum synchron: Wenn Sie einen Member hinzufügen, wird er automatisch in die Schleifen aufgenommen.
using System;
enum Size { Small, Medium, Large }
class Program {
static void Main() {
foreach (Size s in Enum.GetValues<Size>())
Console.WriteLine("Available: " + s);
}
}Kurze Überprüfung
Testen Sie Ihr Verständnis vom Durchlaufen von Enums.
Zusammenfassung
Enum.GetValues<T>() gibt jeden Member als typisiertes Array zurück, während Enum.GetNames<T>() die zugehörigen Namen liefert. Sie können die Werte durchlaufen, um Namen mit ihren numerischen Werten auszugeben, Member zu zählen, Menüs zu erstellen oder mit LINQ zu filtern.
Durch das Durchlaufen bleiben Menüs und Validierung automatisch synchron, wenn das Enum erweitert wird.
Häufig gestellte Fragen
Ist die Lektion „Enum-Werte durchlaufen“ kostenlos?
Ja — der vollständige Text von „Enum-Werte durchlaufen“ 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 „Enum-Werte durchlaufen“?
Ermitteln Sie alle Member mit Enum.GetValues. 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 4 von 4.
Wie lange dauert die Lektion „Enum-Werte durchlaufen“?
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