[닷넷동영상]1-6. 사용자 정의타입(열거형, 구조체)

오라클왕 0 160 05.02 10:18

 

1-6. 사용자 정의타입(열거형, 구조체)

 

열거형(enum)

 

정의 : enum Color { Red , Green , Blue }

첫 번째 요소가 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);

 

}

}

 


 

Comments