C#의 열거 형 문자열

Muhammad Maisam Abbas 2024년2월16일
  1. C#에서 확장 함수를 사용하여 문자열 열거 만들기
  2. C#에서 상수 변수를 사용하여 문자열 열거 만들기
  3. C#에서ToString()함수를 사용하여 문자열 열거 만들기
C#의 열거 형 문자열

이 자습서에서는 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#의 명명 규칙을 따라야합니다. 이 방법은 한 단어로 된 문자열 만 열거하려는 경우에만 권장됩니다. 그 밖의 경우에는 위에서 설명한 두 가지 방법 중 하나를 사용해야합니다.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

관련 문장 - Csharp String

관련 문장 - Csharp Enum