Heim > Backend-Entwicklung > C++ > Wie kann man Stringwerte in Enums am besten darstellen?

Wie kann man Stringwerte in Enums am besten darstellen?

DDD
Freigeben: 2025-01-29 08:10:09
Original
872 Leute haben es durchsucht

How to Best Represent String Values in Enums?

Aufzähliger String zeigt

an Aufzählung ist ein leistungsstarkes Werkzeug für eine Reihe von Namenskonstanten. Wenn Sie jedoch auf die String -Darstellung des Aufzählungswerts zugreifen müssen, kann das Standardverhalten begrenzt sein.

benutzerdefinierte Lösung

Die vom Benutzer bereitgestellte benutzerdefinierte Lösung beinhaltet die Erstellung eines benutzerdefinierten Attributs mit dem Namen "StringValue" und fügt es der Aufzählung hinzu. Dieses Attribut wurde gespeichert, dass der aufzählige Wertzeichenfolge angibt, dass die GetStringValue -Methode zum Abrufen verwendet werden kann. Obwohl diese Lösung gültig ist, erhöht sie die zusätzliche Komplexität und erfordert zusätzlichen Code, um zu warten.

Typ Safer Aufzählungsmodus

Typ

Die flexiblere und sichere Methode ist die Verwendung des Typs Safe Enumeration -Modus vom Typ. In diesem Modus wird die Aufzählung als Versiegelungsklasse definiert, wobei das statische Feld den Aufzählungswert angibt. Zum Beispiel:

Mit dieser Methode können Sie einfach die ToString -Methode anwenden, um auf die Aufzählungszeichenfolge zuzugreifen. Darüber hinaus kann es die explizite und implizite Typumwandlung so definieren, dass sie leicht zwischen der Zeichenfolge und dem Aufzählungswert konvertiert werden kann.

Schlussfolgerung
<code class="language-c#">public sealed class AuthenticationMethod
{
    private readonly string name;
    private readonly int value;

    public static readonly AuthenticationMethod FORMS = new AuthenticationMethod(1, "FORMS");
    public static readonly AuthenticationMethod WINDOWSAUTHENTICATION = new AuthenticationMethod(2, "WINDOWS");
    public static readonly AuthenticationMethod SINGLESIGNON = new AuthenticationMethod(3, "SSN");

    private AuthenticationMethod(int value, string name)
    {
        this.name = name;
        this.value = value;
    }

    public override string ToString()
    {
        return name;
    }
}</code>
Nach dem Login kopieren

Typ Safe Enumeration -Modus Typ bietet eine flexiblere und Type sicherere Möglichkeit, die Aufzählung mit Stringwerten darzustellen. Es beseitigt die Notwendigkeit benutzerdefinierter Attribute und bietet eine konsistente und intuitive Möglichkeit, auf die Darstellung der Aufzählungszeichenfolge zuzugreifen.

Das obige ist der detaillierte Inhalt vonWie kann man Stringwerte in Enums am besten darstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage