ホームページ > バックエンド開発 > C++ > 酵素の文字列値を最適に表現する方法は?

酵素の文字列値を最適に表現する方法は?

DDD
リリース: 2025-01-29 08:10:09
オリジナル
846 人が閲覧しました

How to Best Represent String Values in Enums?

列挙された文字列は

を示します 列挙は、一連の命名定数の強力なツールです。ただし、列挙値の文字列表現にアクセスする必要がある場合、デフォルトの動作は制限される場合があります。

カスタムソリューション

ユーザーが提供するカスタムソリューションには、「StringValue」という名前のカスタム属性の作成が含まれ、列挙に追加されます。列挙された値文字列は、getStringValueメソッドを使用して取得できることを示します。このソリューションは有効ですが、追加の複雑さを増加させ、維持するために追加のコードが必要になります。

タイプセーフ列挙モード

より柔軟で安全な方法は、タイプセーフ列挙モードを使用することです。このモードでは、列挙はシーリングクラスとして定義され、静的フィールドは列挙値を示します。たとえば、

この方法を使用して、列挙さんの文字列にアクセスするためにToStringメソッドを適用するために単純に使用できます。さらに、明示的で暗黙的なタイプ変換を定義して、文字列と列挙値の間で簡単に変換できるようにします。

結論
<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>
ログイン後にコピー

タイプセーフ列挙モードは、文字列値を持つ列挙を表すための、より柔軟でタイプの安全な方法を提供します。カスタム属性の必要性を排除し、列挙文字列表現にアクセスするための一貫した直感的な方法を提供します。

以上が酵素の文字列値を最適に表現する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート