C#

C# Enum 형식 array형으로 변환하기 (for문, foreach문 사용)

기공이 2018. 6. 20. 11:30

C#에서 Enum 으로 선언한 열거형의 각 요소들의 이름이 필요할 때가 있습니다.



예를 들어


enum 계이름

{

도, 레, 미, 파, 솔, 라, 시

}


가 있다면


List, 혹은 ComboBox 등에 도,레,미 ... 를 Item으로 넣어주고 싶을 때 입니다.



이 때 각각 요소들을 Item으로 갖는 Array를 만들어주는 방법이 있습니다.


1
Array arr = Enum.GetValues(typeof(계이름));
cs


Enum의 GetValues 를 사용하는 것입니다.



이 Array는 일반 Array형과는 달라서 []로 접근할 수 없습니다.


사용법입니다.


1
arr.GetValue(index);
cs


다음과 같이 GetValue를 이용해야 하며, 반환 값은 object 입니다.


혹시 값을 바꾸어야 한다면 arr.SetValue(value, index); 를 사용하시면 됩니다.