본문 바로가기

.Net 개발 일상

★ 열거형 : Enum Class 만들기

반응형

Enum 클래스는 사용빈도수가 높기 때문에 어떤 프로젝트던 간에 만들어 놓고 사용하시는걸 추천합니다.

 

저는 POS 솔루션을 주로 개발하는 개발자입니다.

그래서 POS 프로젝트 기준으로 설명하도록 하겠습니다.

 

public class Enum

{

        // 입력구분
        public enum InputDivCd
        {
            KeyIn = 'K',
            Scanner = 'S',
            IC = 'I'

         }

}

 

위와 같이 열거형 클래스를 만들어 놓으면 입력 구분자가 필요할때 호출해서 사용할 수 있습니다.

 

public class Pos

{

        public void callEnum()

        {
            // 구분자 확인 변수

           string str = string.Empty;

           string key = string.Empty;

           str = Enum.InputDivCd.KeyIn.ToString();

           key = (char)Enum.InputDivCd.KeyIn;

         }

}

 

다음과 같이 열거형 클래스를 호출 하면

str 변수에는 "KeyIn" 이라는 문자열이 들어가고,

key 변수에는 'K' 라는 문자가 들어갑니다.

 

문자열의 경우 일일이 문자열을 기억하지 않아도

열거형의 입력구분인 Enum.InputDivCd 이후에 .을 입력하여 입력구분자들을 확인하고 가져오기가 수월합니다.

 

문자의 경우도 전문통신을 할 때 자리수가 다른 입력값들을 한 글자로 만들어서

자리수의 혼동없이 전문통신을 할 때 유용하게 사용할 수 있습니다.

 

이번에는 문자가 아닌 숫자로 지정해보겠습니다.

 

public class Enum

{

        // 입력구분
        public enum InputDivCd 
        {
            KeyIn = 0,
            Scanner = 1,
            IC = 2

         }

}

 

public class Pos

{

        public void callEnum()

        {
            // 구분자 확인 변수

           string str = string.Empty;

           int key = 0;

           str = Enum.InputDivCd.KeyIn.ToString();

           key = (int)Enum.InputDivCd.KeyIn;

         }

}

 

바뀐부분은 열거형에 숫자가 입력된 점과

호출하는 부분에 int 형으로 받아오는 것입니다.

 

위와 같이 소스를 입력하면

str 변수에는 "KeyIn" 이라는 문자열이 들어가고,

key 변수에는 0 이라는 숫자가 들어갑니다.

 

또한 열거형의 경우

 

public class Enum

{

        // 입력구분
        public enum InputDivCd 
        {
            KeyIn = 0,
            Scanner,  // 1
            IC // 2

         }

}

 

위와 같이만 입력해도 아까전 소스와 같이

Scanner 와 IC에는 각각 1과 2가 순차적으로 적용됩니다.

 

따라서 따로 지정하는게 아니고 연속적인 수를 쓰려면 위와 같이 작성하시면 됩니다.

그러나 언제 변수 순서가 바뀔지 모르기 때문에, 저는 개별로 입력해주는걸 추천합니다.

반응형