1-7. 사용자 정의타입(열거형, 구조체)
열거형(enum type)
정의 : enum Color { Red , Green , Blue } // Color c = Color.Red;
첫 번째 요소가 0이라는 기본값을 가진다. 즉 열거형의 내부요소의 형식은 int형 이다.
사용법 : Color colorPalette = Color.Red;
Console.WriteLine(“{0}” , colorPalette); //display Red
Console.WriteLine(“{0}” , (Color)0); //display Red
using System;
namespace day1
{
enum Day1
{
Monday, Thesday, Wednesday, Thursday, Friday, Saturday, Sunday
}
enum Day2 : byte
{
Monday = 11, Thesday, Wednesday, Thursday, Friday, Saturday, Sunday = Monday + 100
}
public class EnumTest
{
static void Main()
{
Day1 whatDay = Day1.Sunday;
Console.WriteLine("{0}", whatDay); //Sunday
Console.WriteLine("{0}", (int)whatDay); //6
whatDay = (Day1)6;
Console.WriteLine("{0}", whatDay); //Sunday
Day2 whatDay2 = Day2.Monday;
Console.WriteLine("{0}", whatDay2); //Monday
Console.WriteLine("{0}", (byte)whatDay2); //11
whatDay2 = (Day2)111;
Console.WriteLine("{0}", whatDay2); //Sunday
}
}
}
구조체(Struct)
여러 가지 형식의 자료들을 모아둔 틀이며 C#에서는 메소드가 없는 클래스다.
구조체의 정의 방법
public struct Employee
{
string firstname;
int age;
}
사용 방법
Employee companyEmployee;
companyEmployee.firstname = “Joe“ ;
companyEmployee.age = 23;
using System;
struct Emp
{
public int id; public string name;
}
class EmpTest
{
public static void Main()
{
Emp e; e.id = 1; e.name = "1길동";
Console.WriteLine("사번: {0}",e.id);
Console.WriteLine("이름: {0}",e.name);
Emp e1 = new Emp(); //new하더라도 스택에 저장된다.
e1.id = 2; e1.name = “2길동”;
Console.WriteLine("사번: {0}",e1.id);
Console.WriteLine("이름: {0}",e1.name);
}
}
댓글 없음:
댓글 쓰기