[Unity]/[C#]

[C#] 열거형 Enum과 string,int 형변환 방법

극꼼 2021. 6. 28. 15:14
반응형


오늘은 열거형인 Enum에 대해서 간단하게 알아보겠습니다.

 

C#에서 Enum은 의미있는 문자열에 숫자을 할당해줘서 코드를 단순하게 해주고, 숫자형과 문자형이 상호호환 가능해지게 해줍니다.

 

먼저 enum의 장점을 정리해보자면 아래와 같습니다.

1. 문자열에 숫자를 할당해줘서, 문자형과 숫자형의 쉬운 상호 형변환으로 코드가 단순해진다.

2. if문, 특히 switch문에서 쓰기 용이하다.

 


 

제가 실제로 사용한 예시를 들자면 다음과 같습니다. 

enum타입의 변수(변수명 : Room)를 하나 만들고, 사용할 단어들을 입력해줍니다. (Room_Manager라는 스크립트입니다)

여기서 따로 번호를 지정하지 않고 열거할 경우, 자동으로 0부터 지정됩니다.

 

 

 

아래의 코드는 방들의 이미지에 공통적으로 붙인 스크립트입니다.(각 방은 각각 다른 번호(int myRoomNum)를 가짐)

방의 이미지에 마우스를 올릴 경우, Room_Manager 스크립트의 now_Room 변수는 해당 방의 정보를 가지게 됩니다. 

(int 타입을 (test.Room)을 통해 형변환)

 


<Enum 형변환 방법>

1) int -> enum

int에서 enum으로의 형변환은 (Room)만 붙여주면 됩니다. (Room : 바꾸고 싶은 enum 이름)

 

2) enum -> int

반대의 경우도 (int)으로 간단하게 변환 가능합니다.

 3) enum -> string

 

4) string -> enum

 

 


 

여기까지 열거형 enum에 대해 간단하게 알아보았습니다. 

궁금하신 점이나, 설명에 부족하거나 잘못된 점이 있다면 댓글 남겨주세요!

반응형