Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# 열거형(Enum) GetName() 메서드 – 상수 이름을 쉽게 가져오는 방법

C# 열거형 GetName() 메서드란?

C#에서 Enum.GetName() 메서드는 열거형(Enumeration)에 정의된 상수의 이름을 반환합니다. 특정 상수 값에 해당하는 문자열 이름을 손쉽게 조회할 수 있어, 로그 출력이나 디버깅 작업 시 매우 유용하게 활용됩니다.

열거형 선언하기

먼저 다음과 같이 열거형을 선언해 보겠습니다.

enum Stock { Appliance, Clothing, Footwear };

열거형의 각 상수는 기본적으로 0부터 시작하는 정수 값과 자동으로 연결됩니다. 즉, 위 예제에서 Appliance는 0, Clothing은 1, Footwear는 2에 해당합니다.

GetName() 메서드 사용법

Enum.GetName() 메서드를 사용하면 상수의 정수 값을 지정하여 그에 대응하는 개별 이름을 가져올 수 있습니다.

Enum.GetName(typeof(Stock), 1)

위 코드는 Stock 열거형에서 값이 1인 상수의 이름, 즉 "Clothing"을 반환합니다. 첫 번째 인자에는 열거형의 타입(typeof 사용), 두 번째 인자에는 조회할 상수의 값을 전달하면 됩니다.

예제

전체 예제 코드를 통해 동작 방식을 확인해 보겠습니다.

using System;
class Demo {
    enum Stock { Appliance, Clothing, Footwear };
    static void Main() {
        Console.WriteLine("두 번째 재고 카테고리 = {0}", Enum.GetName(typeof(Stock), 1));
        Console.WriteLine("세 번째 재고 카테고리 = {0}", Enum.GetName(typeof(Stock), 2));
    }
}

실행 결과

두 번째 재고 카테고리 = Clothing
세 번째 재고 카테고리 = Footwear

정리 및 참고 사항

Enum.GetName() 메서드의 기본 형식은 다음과 같습니다.

public static string? GetName(Type enumType, object value);
  • 첫 번째 매개변수 enumType: 이름을 조회할 열거형의 Type 객체입니다.
  • 두 번째 매개변수 value: 조회할 상수의 값으로, 정수 또는 열거형 멤버 자체를 전달할 수 있습니다.
  • 유효하지 않은 값이나 열거형이 아닌 타입을 전달하면 ArgumentException이 발생할 수 있습니다.
  • .NET 5 이상에서는 제네릭 버전인 Enum.GetName<TEnum>(TEnum value)도 사용할 수 있어, typeof 호출 없이 더 간결하게 작성 가능합니다.

이처럼 GetName() 메서드를 활용하면 열거형의 숫자 값을 의미 있는 이름으로 변환하여 코드의 가독성과 유지보수성을 높일 수 있습니다.