본문 바로가기

   
Programming/C#

열거형(Enumeration),구조체(struct)

반응형

열거형(Enumeration) bool 타입과 매우 유사하다.

enum byte {0, 1, 2, 3, 4, 5, 6, 7....255}

 - 자료형(데이터를 담을 수 있는 형태와 길이..)

 - 사용자 정의형

 - 사용자가 원하는 형태로 자료형을 지정할수 있다.

 - Console.WriteLine((int)c1); 형변환후 출력시 0이나온다.

 

enum선언시 class위에 선언하는 이유? enum, struct 열거형이며 구조체이기 때문에 하나의 메모리를 사용하는 클래스 위에 기재한다. 여러 메모리를 사용하기 때문에..

 

enum Color { Red, Blue, Yellow, Green, Purple }

enum{0, 1, 2, 3, 4} 

번호 사용시 옵션들을 선택하고 관리하기 굉장히 편해진다.

열거형은 옵션의 느낌이라고 생각 한다. 이러한 것들을 열거형이라고 한다.

 

열거형 사용목적

 - 제시된 값들 중 선택해서 사용해야 하는 경우

 - 오타 감소 => 가독성 향상

 - 사용자에게 자유롭게 사용하라

 

1. 열거형 선언(정의enum Color { Red, Blue, Yellow, Green, Purple }

2. 자료형 사용 다른 문법 사용과 겹치다 보니 Color c1 = Color.Red; 형태로 사용한다.

 

using System;

 

namespace Csharp

{

    enum Color { Red, Blue, Yellow, Green, Purple }

    enum AnimalPrice {Mouse=1000, Cat=50000, Bird=20000, Dog=10000, Pig=30000}

 

 

        //내부적으론 숫자10 외부적으론 Animal.Mouse

    

       class Test

       {

             public static void Main(string[] args)

             {     

           Color c1 = Color.Red;

           Console.WriteLine(c1);

 

           string c2 = "Rad";

           Console.WriteLine(c2);

 

           Color c3 = Color.Yellow;

           Console.WriteLine(c3);

           Console.WriteLine((int)c1);//*

           

            //동물 구매(돼지)

            AnimalPrice mouse = AnimalPrice.Mouse;

            Console.WriteLine(mouse);

            Console.WriteLine((int)mouse);         

             }

       }

}

 

 

 

 

 

 

 

구조체(struct)

구조체 사용이유 : 데이터 관리를 위해서

 - 클래스와 유사

 - 변수들의 집합체

변수의 복잡한 것들을 정리하기 위해 만든것

 

1. 구조체 선언(정의)

 - 데이터자료형부터 만든다. struct Point{ public int x; public int y;} => 문법규칙임

   인티져 변수2개를 붙여놓은 형식이다. 레고블럭 조립처럼 인티져블록을 모아서 만들어 놓고 이름을 지정함

메모리안 스택에  Point 라는 이름으로 X Y를 갖는다.

 

 

반응형