[C#] 열거형 모두 가져오는 방법 (Get All Enum Values)

C#에서 열거형을 모두 가져오는 방법을 찾고 계신가요? Enum.GetValues(typeof(  )) 및 foreach in Enum.GetValues를 통해 열거형에 속한 모든 값을 조회하는 방법에 대해 알아보도록 하겠습니다.

enum

환경변수 enum을 예시로 하여 보여드리려고 합니다. C#에서 환경변수는 Process, User, Machine. 이렇게 3개로 구성이 되어 있습니다.
환경변수 enum이 이렇게 주어졌을 때, 해당하는 모든 값을 가져오고 싶을 때, 어떻게 하는지 방법을 안내해드리겠습니다.

환경변수

참고로 User가 환경변수 상단의 '사용자 변수'를 뜻하고, Machine이 '시스템 변수'를 뜻한답니다. 프로세스 환경변수는 프로그램이 실행되었을 때, 해당 애플리케이션 내에 있는 변수를 의미합니다.

Enum.GetValues

각 열거형의 TMP 변수 값을 조회해 보았습니다. 예제는 다음과 같습니다. 해당 방법을 통해 열거형에 있는 값을 모두 가져올 수 있습니다.

string variable;
string value;
foreach (EnvironmentVariableTarget enumVal in Enum.GetValues(typeof(EnvironmentVariableTarget)))
{
    variable = "TMP";
    value = Environment.GetEnvironmentVariable(variable, enumVal);
    Debug.WriteLine($"{enumVal}.{variable} = {value}");
}

댓글