서론
Unity에서 뭔가 nice하게 깔끔한 코드를 만들려는 압박이 있다보면, enum 형태를 생각하게 됩니다. 다른 언어에서 enum은 상수로만 사용이 가능한 부분도 있었는데 C#에서는 입력했던 String도 가져오는 방법이 준비가 되어있습니다.
본론
Unity enum 은 C#에서 사용하는 열거형 형식을 가리키며, 이름이 지정된 상수 집합을 나타냅니다. 열거형은 enum 키워드를 사용하여 정의되며, 상수는 쉼표로 구분된 값의 목록으로 지정됩니다.
열거형의 모든 값들을 배열로 변환하기 위해 System.Enum.GetValues 메서드를 사용합니다. 이 메서드는 열거형의 모든 값들을 열거형의 기본 형식에 해당하는 배열로 반환합니다.
for 루프를 사용하여 배열의 각 요소에 접근합니다. 이때, 배열의 인덱스를 사용하거나 foreach 문을 사용할 수 있습니다.
각 요소를 string 으로 변환하기 위해 System.Enum.GetName 메서드를 사용합니다. 이 메서드는 열거형의 특정 값에 해당하는 이름을 반환합니다.
string 을 원하는 방식으로 사용하거나 저장합니다.
다음은 이 방법을 적용한 예제 코드입니다.
using UnityEngine; public class EnumToString : MonoBehaviour { public enum Colors { Red, Green, Blue } void Start() { var values = System.Enum.GetValues(typeof(Colors)); for (int i = 0; i < values.Length; i++) { string name = System.Enum.GetName(typeof(Colors), values.GetValue(i)); Debug.Log(name); } } }
출력 결과
Red
Green
Blue
댓글 없음:
댓글 쓰기