C#의 열거 형 문자열

  1. C#에서 확장 함수를 사용하여 문자열 열거 만들기
  2. C#에서 상수 변수를 사용하여 문자열 열거 만들기
  3. C#에서ToString()함수를 사용하여 문자열 열거 만들기

이 자습서에서는 C#에서 문자열 열거를 만드는 메서드를 소개합니다.

C#에서 확장 함수를 사용하여 문자열 열거 만들기

열거 형은 변수가 저장할 수있는 미리 정의 된 상수 값 집합입니다. enum클래스는 C#에서 열거 형을 선언하는 데 사용됩니다. 기본적으로enum클래스 내의 변수 유형은 int입니다. 문자열 값으로 열거 형을 선언하는 기본 제공 방법은 없습니다. 문자열 상수로 열거 형을 선언하려는 경우enum클래스와 확장 함수)을 사용하여 이 목표를 달성할 수 있다. 다음 코드 예제는 C#에서enum클래스 및 확장 함수를 사용하여 문자열 값의 열거를 만드는 방법을 보여줍니다.

using System;

namespace enum_with_string
{
    public enum ErrorLevel
    {
        None,
        Low,
        Medium,
        High
    }

    public static class ErrorLevelExtensions
    {
        public static string GetString(this ErrorLevel me)
        {
            switch (me)
            {
                case ErrorLevel.None:
                    return "NO ERRORS";
                case ErrorLevel.Low:
                    return "LOW LEVEL ERROR";
                case ErrorLevel.Medium:
                    return "MEDIUM LEVEL ERROR";
                case ErrorLevel.High:
                    return "HIGH LEVEL ERROR";
                default:
                    return "NO VALUE GIVEN";
            }
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            ErrorLevel e = ErrorLevel.None;
            string output = e.GetString();
            Console.WriteLine(output);
        }
    }
}

출력:

NO ERRORS

enum키워드를 사용하여 상수 값None, Low, Medium, High로 열거 형ErrorLevel을 선언했습니다. 그런 다음switch()문을 사용하여 열거 형 값을 결정하고 값에 따라 문자열을 반환하는 확장 함수GetString()을 만들었습니다. GetString()함수의 결과는output문자열에 저장됩니다.

C#에서 상수 변수를 사용하여 문자열 열거 만들기

C#의 클래스 내에서 일부 상수 변수를 초기화하여 열거 형의 기능을 구현할 수도 있습니다. const키워드는 변수가 이제 상수이고 값을 변경할 수 없음을 지정합니다. 다음 코드 예제는 C#에서 상수 변수를 사용하여 문자열 열거를 만드는 방법을 보여줍니다.

using System;

namespace enum_with_string
{
    public static class Error
    {
        public const string None = "No Errors";
        public const string Low = "Low Level Errors";
        public const string Medium = "Medium Level Errors";
        public const string High = "High Level Errors";
    }
    class Program
    {
        static void Main(string[] args)
        {
            String output = Error.Low;
            Console.WriteLine(output);
        }
    }
}

출력:

Low Level Errors

Error라는공용 정적 클래스를 선언하고 클래스 내의 모든public const string변수를 초기화했습니다. static클래스를 유지하는 이유는main()함수 내에Error클래스의 인스턴스를 생성하지 않기 때문입니다. 문자열 변수output안에Error.Low값을 저장했습니다. 이 접근 방식은 훨씬 간단하고 이해하기 쉽습니다. class키워드 대신struct키워드를 사용하는 구조에서도 동일한 작업을 수행 할 수 있습니다.

C#에서ToString()함수를 사용하여 문자열 열거 만들기

이것은 열거 형 내의 값 이름을 C#의 문자열로 변환하는 즉석에서 만든 방법입니다. 열거 형 인스턴스와 함께 ToString()함수를 사용하여 열거 형 내의 값 이름을 문자열로. 다음 코드 예제는 C#에서ToString()함수를 사용하여 문자열 열거를 만드는 방법을 보여줍니다.

using System;

namespace enum_with_string
{
    public enum ErrorLevel
    {
        None,
        Low,
        Medium,
        High
    }
    class Program
    {
        static void Main(string[] args)
        {
            ErrorLevel e = ErrorLevel.None;
            string output = e.ToString();
            Console.WriteLine(output);
        }
    }
}

출력:

None

열거 형ErrorLevel내의None이름을 C#의ToString()함수를 사용하여 문자열로 변환했습니다. 이 방법은 사용하기 쉽지만 몇 가지 단점이 있습니다. 이 접근 방식에서는 이전 예제와 같이Low Level Errors값을 얻을 수 없습니다. 이 접근 방식에서는 C#의 명명 규칙을 따라야합니다. 이 방법은 한 단어로 된 문자열 만 열거하려는 경우에만 권장됩니다. 그 밖의 경우에는 위에서 설명한 두 가지 방법 중 하나를 사용해야합니다.

관련 문장 - Csharp String

  • C#에서 문자열을 부울로 변환하는 방법
  • C# 바이트 배열을 문자열로 변환
  • 관련 문장 - Csharp Enum

  • C#에서 문자열을 부울로 변환하는 방법
  • C#에서 문자열을 부동 소수점으로 변환하는 방법