>백엔드 개발 >C++ >C#에서 열거의 문자열 표현을 어떻게 더 우아하게 얻을 수 있습니까?

C#에서 열거의 문자열 표현을 어떻게 더 우아하게 얻을 수 있습니까?

Susan Sarandon
Susan Sarandon원래의
2025-01-29 07:57:09231검색

C#의 문자열을 열거 한 를 얻으십시오. 다음 열거를 고려하십시오

문자열 값 (예 : ID 1 대신 "양식")을 얻으려면 솔루션이 필요합니다. 기존 속성 기반 방법 및 사전 방법은 변환 솔루션을 제공하지만보다 우아한 솔루션이 있습니다.

안전한 열거 모드를 입력하십시오 타입 안전 열거 모드는 밀봉 클래스를 소개하며 각 열거 회원은 별도의 예로 표현됩니다. 이 모델에는 다음과 같은 장점이 있습니다 유형 안전 :

클래스 효과적인 값 만 사용되도록하십시오.

명확하고 간결한 :
<code class="language-csharp">public enum AuthenticationMethod
{
    FORMS = 1,
    WINDOWSAUTHENTICATION = 2,
    SINGLESIGNON = 3
}</code>
문자열은 각 멤버에게 직접 나타납니다.

확장 성 :

는 기존 코드를 파괴하지 않고 부가 가치를 추가 할 수 있습니다.

다른 유형 변환 필요한 경우 명시 적 유형 변환을

클래스로 추가하고 문자열을 열거로 변환하도록 허용 할 수 있습니다 (코드 예제 의이 부분에 문제가 있어야합니다) :

.

이것은 예를 들어 다음과 같은 쉬운 변환을 허용합니다
<code class="language-csharp">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>

위 내용은 C#에서 열거의 문자열 표현을 어떻게 더 우아하게 얻을 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.