Enum-Konvertierungen und Parsing
Konvertieren Sie zwischen Enums, Ganzzahlen und Zeichenfolgen.
Enum-Konvertierungen und Parsing ist eine kostenlose C# Academy-Lektion auf CoddyKit. Dies ist Lektion 3 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 in Ganzzahl umwandeln
Wandeln Sie ein Enum mit (int) in seinen zugrunde liegenden Typ um, um den Zahlenwert zu erhalten.
using System;
enum Level { Low, Medium, High }
class Program {
static void Main() {
int n = (int)Level.High;
Console.WriteLine(n);
}
}Ganzzahl in Enum umwandeln
Wandeln Sie eine Zahl zurück in den Enum-Typ um. Der Wert muss keinem definierten Member entsprechen, daher sollten Sie dies bei Bedarf prüfen.
using System;
enum Level { Low, Medium, High }
class Program {
static void Main() {
Level l = (Level)2;
Console.WriteLine(l);
}
}Mit IsDefined validieren
Enum.IsDefined bestätigt, dass eine Zahl oder ein Name vor dem Verwenden einem echten Member entspricht.
using System;
enum Level { Low, Medium, High }
class Program {
static void Main() {
Console.WriteLine(Enum.IsDefined(typeof(Level), 1));
Console.WriteLine(Enum.IsDefined(typeof(Level), 9));
}
}Enum in String umwandeln
ToString gibt den Namen des Members zurück, was für die Anzeige und Protokollierung nützlich ist.
using System;
enum Level { Low, Medium, High }
class Program {
static void Main() {
Console.WriteLine(Level.Medium.ToString());
}
}Aus einem String parsen
Enum.Parse wandelt einen Namen zurück in einen Enum-Wert um, löst jedoch eine Ausnahme aus, wenn der Name ungültig ist.
using System;
enum Level { Low, Medium, High }
class Program {
static void Main() {
Level l = (Level)Enum.Parse(typeof(Level), "High");
Console.WriteLine(l);
}
}Generisches Parsen
Die generische Form Enum.Parse<T> vermeidet eine Umwandlung und ist übersichtlich.
using System;
enum Level { Low, Medium, High }
class Program {
static void Main() {
Level l = Enum.Parse<Level>("Medium");
Console.WriteLine(l);
}
}Sicheres Parsen mit TryParse
Enum.TryParse gibt bei Erfolg einen booleschen Wert zurück, anstatt eine Ausnahme auszulösen. Das ist bei Benutzereingaben sicherer.
using System;
enum Level { Low, Medium, High }
class Program {
static void Main() {
if (Enum.TryParse<Level>("Low", out var result))
Console.WriteLine("Parsed: " + result);
}
}Ungültige Eingaben behandeln
Wenn das Parsen fehlschlägt, gibt TryParse false zurück, sodass Sie angemessen reagieren können.
using System;
enum Level { Low, Medium, High }
class Program {
static void Main() {
bool ok = Enum.TryParse<Level>("Unknown", out var result);
Console.WriteLine(ok ? result.ToString() : "Invalid input");
}
}Groß- und Kleinschreibung beim Parsen ignorieren
Übergeben Sie true, um beim Parsen von Benutzereingaben die Groß- und Kleinschreibung zu ignorieren.
using System;
enum Level { Low, Medium, High }
class Program {
static void Main() {
Level l = Enum.Parse<Level>("high", true);
Console.WriteLine(l);
}
}TryParse ist für Namen besser als IsDefined
Beim Parsen von Namen übernimmt TryParse die Prüfung und Umwandlung in einem einzigen Aufruf.
using System;
enum Level { Low, Medium, High }
class Program {
static void Main() {
string input = "Medium";
if (Enum.TryParse<Level>(input, out var lvl) && Enum.IsDefined(typeof(Level), lvl))
Console.WriteLine("Valid: " + lvl);
}
}Round-Trip-Konvertierungen
Sie können ein Enum in eine Ganzzahl und zurück oder in einen String und zurück umwandeln, solange die Werte gültig sind.
using System;
enum Level { Low, Medium, High }
class Program {
static void Main() {
Level start = Level.High;
int num = (int)start;
Level back = (Level)num;
Console.WriteLine(start == back);
}
}Schnelltest
Testen Sie Ihr Wissen über Enum-Konvertierungen und das Parsen.
Zusammenfassung
Wandeln Sie mit (int) und (EnumType) zwischen einem Enum und seiner zugrunde liegenden Ganzzahl um, und verwenden Sie Enum.IsDefined zur Validierung. ToString liefert den Namen des Members.
Parsen Sie Namen mit Enum.Parse<T> zurück (löst eine Ausnahme aus) oder verwenden Sie das sicherere Enum.TryParse<T> (gibt einen booleschen Wert zurück), optional ohne Berücksichtigung der Groß- und Kleinschreibung.
Häufig gestellte Fragen
Ist die Lektion „Enum-Konvertierungen und Parsing“ kostenlos?
Ja — der vollständige Text von „Enum-Konvertierungen und Parsing“ 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-Konvertierungen und Parsing“?
Konvertieren Sie zwischen Enums, Ganzzahlen und Zeichenfolgen. 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 3 von 4.
Wie lange dauert die Lektion „Enum-Konvertierungen und Parsing“?
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