C#/문제해결

0315 _ 배열 인스턴스 생성, 초기화 부분 실수

minquu 2021. 3. 15. 11:12
반응형
    class App
    {
        enum eGrade
        {
            NORMAL,
            MAGIC,
            LEGEND,
        }
        public App() {
            Console.WriteLine("이것은 app 생성자입니다.");
            //int 배열변수 선언
            int[] damage;
            string[] itemNames;
            int[] itemGrades;

            //배열 변수를 선언하고 배열 인스턴스를 생성하고 초기화
            damage = new int[] { 20, 32, 55, 0 };
            itemNames = new string[] { "장검", "단검", "활", "도끼" };
            itemGrades = new int[] { 0, 1, 2 };

            ////배열의 요소는 인덱스 0 ~ n-1
            ////배열의 길이 출력
            //Console.WriteLine(damage.Length);
            //Console.WriteLine(itemNames.Length);
            //Console.WriteLine();

            //배열의 x인덱스에 값 할당
            itemNames[itemNames.Length - 1] = "전설 도끼";
            damage[damage.Length - 1] = 12;

            ////배열의 x인덱스의 요소 값 출력
            //int lastIndex = itemNames.Length - 1;
            //string lastIndexItemNama = itemNames[lastIndex];
            //Console.WriteLine(lastIndexItemNama);
            //int lastIndexdam = damage.Length - 1;
            //int lastIndexdama = damage[lastIndexdam];
            //Console.WriteLine(lastIndexdama);


            //for문을 사용해서 배열의 요소 값 출력
            for (int i = 0; i < itemNames.Length; i++)
            {
                string itemName = itemNames[i];
                int damageValue = damage[i];
                int itemGrade = itemGrades[i];
                eGrade grade = (eGrade)itemGrade;
                Console.WriteLine("{0}, {1}, {2}", itemName, damageValue, grade);
            }

 

- 배열 변수를 선언하고 배열 인스턴스 생성, 초기화 부분에서 

itemGrades = new int[] { 0, 1, 2 }; // 배열 값을 아이템의 맞는 등급으로 배열을 해줬어야했다.

 -> itemGrades = new int[] { 0, 1, 0, 2};

반응형