C# Prog.
enum은 사용자 정의의 데이터의 집합을 의미합니다. enum을 통해서, 형식화된 상수타입의 데이터를 정의할 수 있습니다.
그럼으로써, 잘못된 데이터를 사용하거나 읽을 가능성을 없애주죠. 그리고 값의 중복 가능성을 배제해주기도 합니다.
우선, enum의 선언은 방식은 다음과 같습니다.
enum 열거명[ : 자료형 ]{상수1, 상수2, 상수3 ...}
한번 테스트 해보겠습니다.
using System;
namespace Test
{
class Test
{
enum gender { MALE, FEMALE }
static void Main(string[] args)
{
Console.WriteLine((int)gender.MALE);
Console.WriteLine((int)gender.FEMALE);
}
}
}
결과는요?
잘 보시면, 콘솔 화면에 출력을 할 때, int형으로 변환을 했는데요. 그래서 나온 값들이 0, 1 입니다.
-int형으로 변환하지 않았다면, MALE과 FEMALE 이라는 값이 출력되었을 것입니다.
이 값들은 enum 선언시 자동으로 부여된 값인데요. 차례대로 0 에서부터 1씩 증가된 값이 할당됩니다.
선언할때 자료형을 생략하게 되면, int형이 기본타입으로 지정됩니다.
그래서 뒤에 선언된 열거형 값들이 0이나 1과 같은 값을 가지게 된 것이죠.
원하는 값을 대입해 줄 수도 있는데요. 다음과 같이 사용합니다.
using System;
namespace Test
{
class Test
{
enum gender { MALE =100, FEMALE, TEST_MALE=200, TEST_FEMALE }
static void Main(string[] args)
{
Console.WriteLine((int)gender.MALE);
Console.WriteLine((int)gender.FEMALE);
Console.WriteLine((int)gender.TEST_MALE);
Console.WriteLine((int)gender.TEST_FEMALE);
}
}
}
어떤 값들이 출력되었는지 한번 볼까요?
자 , 근데 한가지 특이한 점이 있죠?
그렇습니다. 우리가 설정한 MALE=100 이란 값에서 FEMALE이 1이 증가된 값을 가졌고,
중간에 다시 TEST_MALE =200 을 설정해주자, 다음의 TEST_FEMALE 이 201로 1이 증가되었네요.
이렇게 함으로써, 내부적으로 중복된 값이 제거가 되는 것이죠.
다들 함께 코딩해보고 확인해 봅시다~
'프로그래밍 > C#' 카테고리의 다른 글
[C#] 문자열을 숫자로 바꿔봅시다! (2) | 2013.07.23 |
---|---|
[C#] 아주 유용한 매개변수의 특징에 대해서 알아봅시다. (0) | 2013.07.23 |
[C#] ref, out 을 통한 Call by Reference 구현해보기 (3) | 2013.07.23 |
[C#] 알아서 타입을 지정해주는 var 타입을 사용해보자. (0) | 2013.07.17 |
[C#] 원시타입(primitive)에 Nullable 을 사용해보자 (0) | 2013.07.17 |