열거형(enumeration)
열거자(enumerator)란 이름이 부여된 일련의 정수 상수로 구성되는 데이터 타입
열거자의 값은 기본적으로 0으로 시작하여 1씩 증가
값을 바꿀 수 있는데, 한 값을 바꾸면 다음 열거자부터는 바뀐값에서 1씩 증가
default type 은 int 이며 char를 제외한 정수형 타입(byte, sbyte, short, int, uint, long, ulong)의 지정이 가능
열거형 정의 및 사용
열거형 정의
- enum Weekday{Mon, Tue, Wed, Thu, Fri, Sat, Sun};
- // Mon=0, Tue=1, Wed=2, Thu=3, Fri=4, Sat=5, Sun=6
- enum Weekday{Mon = 1, tue, Wed = 4, Thu, Fri = 7, Sat, Sun};
- // Mon=1, Tue=2, Wed=4, Thu=5, Fri=7, Sat=8, Sun=9
열거형 사용
- WeekDay weekday = WeekDay.Fri;
- // 또는
- int weekday = (int)WeekDay.Fri;
구조체
대문자로 표시
value type
사용자 정의 데이터 타입을 정의하는데 사용
일반적으로 여러개의 필드를 포함하는 복합 데이터 타입(composite data type)을 정의하기 위해 사용
공개필드 멤버로만 포함하는 것이 일반적
생성자를 가질 수 있다.
이때 default 생성자는 재정의할 수 없으며, 반드시 파라메터가 있는 생성자이어야 한다.
구조체 정의 및 사용
구조체 정의
- struct POINT {
- public int x;
- public int y;
- }
구조체 사용
- POINT pt;
- pt.x = 10;
- pt.y = 20;
구조체 생성자 사용
- struct POINT
- {
- public int x;
- public int y;
- public POINT(int x, int y)
- {// 구조체에서 생성자 사용시 파라메터가 있어야 한다.
- this.x = x;
- this.y = y;
- }
- }
- // 구조체의 생성자 호출시 new 키워드를 사용한다.
- POINT pt = new POINT(20, 30);
- Console.WriteLine(“POINT pt.x = {0}, pt.y = {1}”, pt.x, pt.y);