C# - Enum
Enum의 요소를 foreach로 열거하기
void Main()
{
foreach (TEST val in Enum.GetValues(typeof(TEST)))
{
Console.WriteLine("{0} - {1}", val, (int)val);
}
}
enum TEST
{
ITEM_1 = 1,
ITEM_2 = 10,
ITEM_3 = 21,
}
결과 ITEM_1 - 1 ITEM_2 - 10 ITEM_3 - 21
enum의 개수 얻기, enum 요소에 없는 값을 enum으로 변환 시
void Main()
{
var enumCount = Enum.GetNames(typeof(TEST)).Length;
Console.WriteLine("TEST enum 개수: {0}", enumCount);
Console.WriteLine("TEST enum 1: {0}", (TEST)1);
Console.WriteLine("TEST enum 2: {0}", (TEST)2);
Console.WriteLine("TEST enum 3: {0}", (TEST)21);
}
enum TEST
{
ITEM_1 = 1,
ITEM_2 = 10,
ITEM_3 = 21,
}
결과 TEST enum 개수: 3 TEST enum 1: ITEM_1 TEST enum 2: 2 TEST enum 3: ITEM_3
정수 값이 enum에 정의 되어 있는지 조사
void Main()
{
int n = 10;
if (Enum.IsDefined(typeof(TEST_ENUM), n))
Console.WriteLine("정수 값이 있다");
else
Console.WriteLine("정수 값이 없다");
n = 11;
if (Enum.IsDefined(typeof(TEST_ENUM), n))
Console.WriteLine("정수 값이 있다");
else
Console.WriteLine("정수 값이 없다");
}
enum TEST_ENUM
{
ITEM_1 = 1,
ITEM_2 = 10,
ITEM_3 = 21,
}
결과 정수 값이 있다 정수 값이 없다
Flag 판정
[Flags]
public enum BorderSides { None=0, Left=1, Right=2, Top=4, Bottom=8 }
void Main()
{
var borderSides = BorderSides.Left | BorderSides.Right;
borderSides.HasFlag(BorderSides.Left).Dump();
((borderSides & BorderSides.Right) == BorderSides.Right).Dump();
}
결과 True True
이 글은 2019-03-16에 작성되었습니다.