Heim > Backend-Entwicklung > C++ > Wie kann ich Strings effizient in Aufzählungen in C#umwandeln?

Wie kann ich Strings effizient in Aufzählungen in C#umwandeln?

Susan Sarandon
Freigeben: 2025-02-02 00:46:16
Original
459 Leute haben es durchsucht

How Can I Efficiently Convert Strings to Enumerations in C#?

optimieren String-zu-Enum-Conversions in C#

c# bietet verschiedene Möglichkeiten, Zeichenfolgen in Enum -Werte umzuwandeln, aber ein direkter StatusEnum MyStatus = StatusEnum.Parse("Active"); -Ansatz ist nicht immer ideal. Lassen Sie uns effiziente Alternativen untersuchen.

Nutzung Enum.TryParse

für .NET Core und .NET Framework 4.0 und später liefert die Enum.TryParse -Methode eine robuste Lösung:

<code class="language-csharp">Enum.TryParse("Active", out StatusEnum myStatus);</code>
Nach dem Login kopieren

c# 7 inline -variablen verbessern die Lesbarkeit weiter:

<code class="language-csharp">var myStatus = Enum.TryParse("Active", out var result) ? result : default;</code>
Nach dem Login kopieren

benutzerdefinierte Erweiterungsmethoden (für ältere Frameworks oder spezifische Anforderungen)

Wenn Enum.TryParse nicht verfügbar ist, bieten benutzerdefinierte Erweiterungsmethoden Flexibilität:

<code class="language-csharp">public static T ParseEnum<T>(string value)
{
    return (T)Enum.Parse(typeof(T), value, true);
}

var myStatus = ParseEnum<StatusEnum>("Active");</code>
Nach dem Login kopieren

Eine umfassendere Erweiterung verarbeitet null oder ungültige Eingaben anmutig:

<code class="language-csharp">public static T ToEnum<T>(this string value, T defaultValue)
{
    if (string.IsNullOrEmpty(value))
    {
        return defaultValue;
    }

    T result;
    return Enum.TryParse<T>(value, true, out result) ? result : defaultValue;
}

var myStatus = "Active".ToEnum(StatusEnum.None);</code>
Nach dem Login kopieren

Wichtiger Hinweis zu Erweiterungen: Während Erweiterungsmethoden nützlich sind, kann Überbeanspruchung zu Code -Unordnung führen. Betrachten Sie den Kontext und potenziellen Konflikte, bevor Sie integrierte Typen wie string Erweiterungen hinzufügen. Die Verwendung einer statischen Helferklasse könnte in einigen Fällen ein saubererer Ansatz sein.

Das obige ist der detaillierte Inhalt vonWie kann ich Strings effizient in Aufzählungen in C#umwandeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage