Heim > Backend-Entwicklung > C++ > Wie kann ich C#-Enums Strings zuordnen?

Wie kann ich C#-Enums Strings zuordnen?

Mary-Kate Olsen
Freigeben: 2025-01-13 18:06:47
Original
849 Leute haben es durchsucht

How Can I Map C# Enums to Strings?

C#-Enums zu Strings zuordnen: Problemumgehungen

C#-Aufzählungen verwenden von Natur aus Ganzzahltypen, wodurch ihre direkte Zuordnung zu Zeichenfolgen eingeschränkt wird. Allerdings gibt es mehrere wirksame Strategien, um diese Einschränkung zu überwinden.

Ein Ansatz nutzt Klasseneigenschaften. Indem wir eine Klasse mit String-Eigenschaften definieren, erstellen wir eine Struktur, die das Enum-Verhalten nachahmt:

<code class="language-csharp">public class LogCategory
{
    public string Value { get; private set; }

    public static LogCategory Trace { get; } = new LogCategory("Trace");
    public static LogCategory Info { get; } = new LogCategory("Info");
    // ... other categories
}</code>
Nach dem Login kopieren

Dies ermöglicht den typsicheren Zugriff auf String-Darstellungen:

<code class="language-csharp">public static void WriteLog(string message, LogCategory category)
{
    Logger.Write(message, category.Value);
}

// Usage:
WriteLog("Log message", LogCategory.Info);</code>
Nach dem Login kopieren

Alternativ können direkt typsichere String-Parameter verwendet werden:

<code class="language-csharp">public static void WriteLog(string message, string category)
{
    // Add validation to ensure category is a valid value
    Logger.Write(message, category);
}

// Usage:
WriteLog("Log message", "Info");</code>
Nach dem Login kopieren

Beide Methoden verbessern die Lesbarkeit und Flexibilität des Codes und bieten praktische Alternativen zu den Einschränkungen von Standard-Enums, wenn eine Zeichenfolgendarstellung erforderlich ist. Beachten Sie, dass der zweite Ansatz eine sorgfältige Validierung erfordert, um sicherzustellen, dass nur gültige Zeichenfolgenkategorien verwendet werden.

Das obige ist der detaillierte Inhalt vonWie kann ich C#-Enums Strings zuordnen?. 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