본문 바로가기

.NET/C#

C# enum, struct

728x90
반응형

이번 시간에는 enum과 struct에 대해서 알아보려고 합니다.

우선 enum에 대해서 알아볼까요? 싫으시다고요? ㅜㅜ 그럼 안되요 안되요~!!ㅎㄷㄷ 죄송합니다 ㅎㅎ

우선 enum의 생성에 대해서 알아보겠습니다.

    1 enum Color

    2 {

    3     Red,

    4     Blue,

    5     Green

    6 }
다음과 같이 하게 되면 enum을 만들게 되는 것입니다. 참 쉽죠? ㅎ 이때 enum은 기본적으로 각 데이터 하나 하나에는 value값이 들어가게 되는데요. 아무값도 지정되어 있지 않다면 디폴트로 첫 데이터는 0의 값을 가지게 되고 다음꺼는 1 그 다음은 2 이렇게 1씩 증가하게 되어 있습니다. 결국 Red는 0의 값 Blue는 1, Green은 2의 값을 가지게 되는 것이지요

만약 첫 자료의 값을 준다면 거기서 1씩 증가하는 값을 가지게 될껍니다. 예를 들면 Red=100이라고 했다면 Red는 100 Blue는 101 Green은 102가 되는 것이지요.

1씩 증가하는게 싫다면...각 자료에 값을 대입해주면 해당 값을 가지게 됩니다. 예를 들자면 Red=100, Blue=200,Green=300 이렇게 말이지요 ^^

간단히 구현을 해보겠습니다~

    1 using System;

    2 using System.Collections.Generic;

    3 using System.Linq;

    4 using System.Text;

    5 

    6 namespace EnumTest

    7 {

    8     class Program

    9     {

   10         enum Color

   11         {

   12             Red,

   13             Blue,

   14             Green

   15         }

   16         static void Main(string[] args)

   17         {

   18             Color color;

   19             color = Color.Blue;

   20             Console.WriteLine("{0}\t{1}", color, (int)color);

   21             Console.WriteLine("{0}\t{1}", Color.Red, (int)Color.Red);

   22         }

   23     }

   24 }

다음과 같이 실행되는 것을 확인할 수 있습니다~
해당 값을 바꿔서 테스트 해보시길 바랍니다. 그러면 위의 내용을 확실히 알 수 있을 겁니다.

그럼 이제 struct에 대해서 알아보도록 하죠

struct는 구조체라는 것입니다. 한 타입으로 구한되는것이 아니고 여러 타입을 한번에 사용 할 수 있습니다.

    1 struct ContactInformation

    2 {

    3     public string Name;

    4     public string Group;

    5     public string Phone;

    6     public string Email;

    7 }

지금과 같이 생성하여 쓸수가 있습니다. 위에서 말한것과 같이 여러 타입을 struct 하나에 묶어 사용할 수 있기 때문에 여러타입이 하나로 묶여야 할때 사용을 하죠~예를들어 개인 이력이라든가 전화번호부라든가 여러 곳에서 쓰임을 볼 수가 있습니다.

개인 연락처를 통해서 한번 테스트를 해보겠습니다~

    1 using System;

    2 using System.Collections.Generic;

    3 using System.Linq;

    4 using System.Text;

    5 

    6 namespace StructValue

    7 {

    8     class Program

    9     {

   10         struct ContactInformation

   11         {

   12             public string Name;

   13             public string Group;

   14             public string Phone;

   15             public string Email;

   16         }

   17         static void Main(string[] args)

   18         {

   19             ContactInformation ci;

   20             ci.Name = "이나영";

   21             ci.Group = "친구";

   22             ci.Phone = "010-9987-1234";

   23             ci.Email = "lny@example.com";

   24             Console.WriteLine("[{0}] [{1}] [{2}] [{3}]", ci.Name, ci.Group, ci.Phone, ci.Email);

   25         }

   26     }

   27 }


struct를 통해서 개인 이력을 하나의 struct에 입력 할 수 있다는 것을 볼 수가 있습니다. 결과를 보면 다음과 같죠.


구조체도 참 쉽죠잉? ㅎㅎ

혹시 어렵다고 느끼시는 분은 다시한번 코드를 봐보시고 약간씩 변경을 해보시고 디버깅도 해보시면서 어떤 구조인지를 어떻게 실행되는지를 봐보시면 "아하~!!그렇구나!!"라고 느끼실 수 있을 껍니다~

마지막으로 간단한 팁이라면 팁인데...

int.Parse(문자열) 이렇게 하시면 문자열의 타입이 숫자형에 맞는다면 int형으로 변경할 수 있는 메소드 입니다. 알아두시면 많은 곳에 유용하게 쓰이죠 ㅎㅎ

 긴글 읽으시느라 고생하셨습니다 ^^

728x90
반응형

'.NET > C#' 카테고리의 다른 글

Property의 get, set 에 대한 간단한 정리  (0) 2009.12.18
Class(4)  (0) 2009.12.17
Class(3)  (0) 2009.12.17
Class(2)  (0) 2009.12.16
Class(1)  (0) 2009.12.16
C# Array 에 대해서...  (2) 2009.12.16
C# 메소드  (0) 2009.12.15
C# 반복문  (0) 2009.12.15
C# 성적 관리 프로그램(단순 학점 부여)  (0) 2009.12.15
C# 기초 계산기  (0) 2009.12.15