>백엔드 개발 >C++ >C# 열거형을 문자열에 어떻게 매핑할 수 있나요?

C# 열거형을 문자열에 어떻게 매핑할 수 있나요?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-13 18:06:47852검색

How Can I Map C# Enums to Strings?

C# 열거형을 문자열에 매핑: 해결 방법

C# 열거형은 본질적으로 정수 유형을 사용하므로 문자열과의 직접적인 연관이 제한됩니다. 그러나 몇 가지 효과적인 전략으로 이러한 한계를 극복할 수 있습니다.

한 가지 접근 방식은 클래스 속성을 활용합니다. 문자열 속성으로 클래스를 정의함으로써 열거형 동작을 모방하는 구조를 만듭니다.

<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>

이를 통해 문자열 표현에 대한 유형 안전 액세스가 가능해집니다.

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

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

또는 유형이 안전한 문자열 매개변수를 직접 사용할 수도 있습니다.

<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>

두 가지 방법 모두 코드 가독성과 유연성을 향상시켜 문자열 표현이 필요할 때 표준 열거형의 제한 사항에 대한 실용적인 대안을 제공합니다. 두 번째 접근 방식에서는 유효한 문자열 범주만 사용되도록 주의 깊은 검증이 필요합니다.

위 내용은 C# 열거형을 문자열에 어떻게 매핑할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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