스토리지

[3.12] Array 연습 본문

Unity/수업내용(C#)

[3.12] Array 연습

ljw4104 2021. 3. 12. 13:17

1. string 배열

public class App
    {
        public App()
        {
            //string배열 선언
            string[] arr;

            //string 배열 인스턴스 생성(빈배열)
            arr = new string[3];

            //string배열 인스턴스 요소 값 할당 (홍길동,임꺽정,장길산)
            arr[0] = "홍길동";
            arr[1] = "임꺽정";
            arr[2] = "장길산";

            //배열의 길이 출력
            Console.WriteLine(arr.Length);

            //배열의 요소 출력(for, foreach)
            for(var i = 0; i < arr.Length; i++)
            {
                Console.WriteLine(arr[i]);
            }

            foreach(var i in arr)
            {
                Console.WriteLine(i);
            }
        }
    }

 

 

2. int 배열

public class App
    {
        public App()
        {
            //int배열 선언 및 초기화
            int[] arr = new int[3];

            //int배열 인스턴스 요소에 값 할당
            arr[0] = 30;
            arr[1] = 20;
            arr[2] = 100;

            //배열의 길이 출력
            Console.WriteLine(arr.Length);

            //배열의 요소 출력 (for,foreach)
            for(var i = 0; i < arr.Length; i++)
            {
                var item = arr[i];
                Console.Write(item + " ");
            }

            Console.WriteLine();

            foreach(var i in arr)
            {
                Console.Write(i + " ");
            }
        }
    }

 

 

3. float 배열

public class App
    {
        public App()
        {
            //float배열 선언 및 초기화
            float[] arr = new float[3];

            //float배열 인스턴스 요소에 값 할당
            arr[0] = 3.31f;
            arr[1] = 12.35f;
            arr[2] = 9.74f;

            //배열의 길이 출력
            Console.WriteLine(arr.Length);

            //배열의 요소 출력 (for,foreach)
            for(var i = 0; i < arr.Length; i++)
            {
                var item = arr[i];
                Console.Write(item + " ");
            }

            Console.WriteLine();

            foreach(var i in arr)
            {
                Console.Write(i + " ");
            }
        }
    }

 

 

3. enum 배열

 public class App
    {
        enum eTribe
        {
            Terran,
            Protoss,
            Zerg
        }

        public App()
        {
            //enum배열 선언 및 초기화
            eTribe[] arr = new eTribe[3];

            //enum배열 인스턴스 요소에 값 할당
            arr[0] = eTribe.Terran;
            arr[1] = eTribe.Protoss;
            arr[2] = eTribe.Zerg;

            //배열의 길이 출력 
            Console.WriteLine(arr.Length);

            //배열의 요소 출력 (for,foreach)
            for(int i = 0; i < arr.Length; i++)
            {
                var item = arr[i];
                Console.WriteLine(item);
            }

            Console.WriteLine();

            foreach(var i in arr)
            {
                Console.WriteLine(i);
            }
        }
    }

 

4. bool 배열

public App()
        {
            //bool배열 선언 및 초기화
            bool[] arr = new bool[4];

            //bool배열 인스턴스 요소에 값 할당
            Random r = new Random();
            for (int i = 0; i < 4; i++)
            {
                arr[i] = Convert.ToBoolean(r.Next(0, 2));
            }

            //배열의 길이 출력 
            Console.WriteLine(arr.Length);

            //배열의 요소 출력 (for,foreach)
            for(int i = 0; i < arr.Length; i++)
            {
                var item = arr[i];
                Console.WriteLine(item);
            }

            Console.WriteLine();

            foreach(var item in arr)
            {
                Console.WriteLine(item);
            }
        }
    }

실행할 때 마다 인덱스가 다르게 들어감.

 

5. char 배열

public class App
    {
        public App()
        {
            //char배열 선언 및 초기화
            char[] arr = new char[5];

            //char배열 인스턴스 요소에 값 할당
            arr[0] = 'h';
            arr[1] = 'e';
            arr[2] = 'l';
            arr[3] = arr[2];
            arr[4] = 'o';

            //배열의 길이 출력 
            Console.WriteLine(arr.Length);

            //배열의 요소 출력 (for,foreach)
            for(int i = 0; i < arr.Length; i++)
            {
                var item = arr[i];
                Console.Write(item);
            }

            Console.WriteLine();
            Console.WriteLine();

            foreach(var item in arr)
            {
                Console.Write(item);
            }
        }
    }

char의 배열은 문자의 배열, 즉 문자열 string과 동일한 기능을 가지게된다. 실제로 string을 분석하면 char의 배열로 이루어져있다.

6. class 배열

public class App
    {
        public App()
        {
            //class배열 선언 및 초기화
            Unit[] units = new Unit[3];

            //class배열 인스턴스 요소에 값 할당
            for(int i = 0; i < units.Length; i++)
            {
                Unit unit = new Unit();
                units[i] = unit;
            }
            units[0].name = "홍길동";
            units[1].name = "임꺽정";
            units[2].name = "장길산";

            //배열의 길이 출력 
            Console.WriteLine(units.Length);

            //배열의 요소 출력 (for,foreach)
            for (int i = 0; i < units.Length; i++)
            {
                var item = units[i];
                Console.WriteLine(item);
            }

            Console.WriteLine();

            foreach(var item in units)
            {
                Console.WriteLine(item);
            }
        }
    }

 

ToString함수 오버라이딩 : https://docs.microsoft.com/ko-kr/dotnet/csharp/programming-guide/classes-and-structs/how-to-override-the-tostring-method

Comments