C#/수업내용

2020.04.08. 수업내용 - 열거형 변환 (캐스팅 ( ) )

dev_sr 2020. 4. 8. 23:14

 

열거형 (enum)

int 형(값형식)의 상수값으로 정의되는 텍스트의 집합이다.

순서에 따라 1씩 증가시키며 항목들의 이름을 지정한다. (0부터 시작)

 

*상수값(const)

변하지 않는 값

 

캐스팅 ( )을 이용하여 명시적으로 열거열 형식으로 변환할 수 있다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
namespace Study_005
{
    class App
    {
        //열거형 변환
 
        enum Weapon
        {
            Sword,  //0
            Bow,    //1
            Axe     //2
        }
 
        enum Grade
        {
            Normal, //0
            Rare,   //1
            Legend  //2
        }
 
        public App()
        {
            Console.WriteLine("2020-04-08\n");
 
            Console.Write("아이템의 타입은 무엇입니까? ");
            string inputWeaponType=Console.ReadLine();
            int weaponType = Int32.Parse(inputWeaponType);
            Weapon wType = (Weapon)weaponType;   //캐스팅( )을 이용해서 명시적으로 Weapon타입으로 변환
 
            Console.Write("생성할 아이템의 이름을 입력하세요 ");
            string weaponName = Console.ReadLine();
 
            Console.Write("아이템의 등급은 무엇입니까?  ");
            var weaponGrade = Int32.Parse(Console.ReadLine());
            var wGrade = (Grade)weaponGrade;    //캐스팅( )을 이용해서 명시적으로 Grade타입으로 변환
 
            Console.Write("아이템의 공격력은 몇입니까? ");
            float weaponDamage = float.Parse(Console.ReadLine());
 
            Console.WriteLine("\n아이템이 생성되었습니다.\n");
            Console.WriteLine("--------------------------");
            Console.WriteLine("아이템명 : {0}", weaponName);
            Console.WriteLine("아이템 타입 : {0}", wType);
            Console.WriteLine("아이템 등급 : {0}", wGrade);
            Console.WriteLine("아이템 공격력 : {0}", weaponDamage);
            Console.WriteLine("--------------------------");
 
        }
    }
}