스택큐힙리스트
C#에서 int를 enum으로 캐스팅하는 방법은 무엇인가요? 본문
C#에서 int을 enum으로 변환하는 방법은 무엇인가요?
답변 1
정수에서:
YourEnum foo = (YourEnum)yourInt;
문자열로부터:
YourEnum foo = (YourEnum) Enum.Parse(typeof(YourEnum), yourString);
// The foo.ToString().Contains(,) check is necessary for
// enumerations marked with a [Flags] attribute.
if (!Enum.IsDefined(typeof(YourEnum), foo) && !foo.ToString().Contains(,))
{
throw new InvalidOperationException(
${yourString} is not an underlying value of the YourEnum enumeration.
);
}
숫자에서:
YourEnum foo = (YourEnum)Enum.ToObject(typeof(YourEnum), yourInt);
답변 2
C#에서 int를 enum으로 변환하는 방법은 매우 간단합니다.
우선, C#에서는 기본적으로 열거형(enum)과 정수형(int) 간의 형 변환이 가능합니다. 이는 열거형의 각 원소(element)들이 각각 정확히 정수형 값을 가지고 있기 때문입니다.
따라서, int를 enum으로 변환할 때는 simplement 캐스트(cast) 연산자를 사용하여 int 값을 enum 값으로 변환해주면 됩니다.
예를 들어, 다음과 같은 enum을 정의했다고 가정해봅시다.
enum Day
{
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}
이때, int 값을 Day enum으로 변환하려면 다음과 같이 캐스트(cast) 연산자를 사용하면 됩니다.
int myInt = 3;
Day myDay = (Day)myInt;
위 코드에서, myInt 변수에 3을 저장하고, 이를 Day enum으로 변환하여 myDay 변수에 할당합니다. 이때, 캐스트(cast) 연산자를 사용하여 int 값을 Day enum 값으로 변환합니다.
따라서, C#에서 int 값을 enum으로 변환하는 방법은 위와 같이 쉽게 수행할 수 있습니다.
이와 같은 enum 형 변환 방법에 대한 정보를 제공함으로써, 이 글은 C# 프로그래머들에게 유용한 정보가 될 것입니다.