0312 Array 배열

2021. 3. 12. 12:48C#/수업내용

배열은 동일한 데이터 형식/변수의 여러 요소를 저장한다.

미리 정의된 항목의 수에 따라 고정된 수의 요소를 순차적으로 저장한다.

 

배열 선언:

예) int [] arrayName;

 

배열 초기화: 배열은 동일한 변수를 여러 개 저장하는 인스턴스

1. int [] array = new int[5];

고정된 값 5개의 배열 인스턴스 생성: 기본값 0개가 들어감

방 하나가 변수를 의미한다.

 

2. int[] array = new int[5] {1,2,3,4,5};

각 방 안에 할당값을 준 상태의 배열 변수 생성

 

3. int [] array = new int {1,2,3,4,5};

4. int [] array = {1,2,3,4,5};

5. int [] array;

   array = new {1,2,3,4,5}; 

 

public class Array
    {
        public Array() 
        {
            //정수 배열 변수 선언
            int[] arr = new int[5];

            //정수 배열 선언 후 할당값 넣기
            //int[] arr = { 1, 2, 3, 4, 5 };

            //문자열 배열 변수 선언
            //string[] arr2 = new string[5];
            string[] arr2 = { "홍길동", "임꺽정", "장길산" };

            //Unit 배열 변수 선언
            //Unit[] arr3 = new Unit[3];
            Unit[] arr3 = { new Unit(), new Unit(), new Unit() };

            //논리값 배열 변수 선언
            //bool[] arr4 = new bool[2];
            bool[] arr4 = { true, false };

            //문자값 배열 변수 선언
            //char[] arr5=new char[4]; //null에 해당되는 숫자 '`0'
            char[] arr5 = { '홍', '길', '동' };

        }
    }

 

인덱스 값으로 해당 변수에 접근한다.

public Array() 
        {
            
            int[] arr = new int[5];
            arr[0] = 2; //배열 인스턴스의 0번째 인덱스에 값 할당

            int a = arr[0];
            Console.WriteLine(arr[0]);
            Console.WriteLine(a);
            Console.WriteLine(arr.Length);
            
            //배열의 마지막 인덱스
            int lastIndex = arr.Length - 1;
            //배열의 마지막 인덱스의 값
            int b = arr[lastIndex];
        }

인덱스는 고정되어있으니 후에 인덱스 수를 수정하려면 선언한 인덱스 값도 수정해야한다.

 

 

static void Main(string[] args)
        {
            int[] arr = new int[10];
            //arr의 값은 배열 instance

            arr[1] = 100; //{0,100,0,0,0}

            //for문을 사용해 배열의 요소 값을 출력
            for (int i = 0; i < arr.Length; i++) 
            {
                //인덱스가 필요하면 for 문을 이용한다.
                int num = arr[i];
                Console.WriteLine(num);
                
            }
            Console.WriteLine("===================");

            foreach (int num in arr) 
            {
                //foreach의 인덱스는 알 수 없다.
                Console.WriteLine(num);
            }
        }

 

 

string type 의 배열

//string 변수 선언

            //string 배열 인스턴스의 (빈배열)

            //string 배열 인스턴스 요소의 값 할당
            //"홍길동""임꺽정""장길산"

            //배열의 요소 출력 (for,foreach)

            string[] name = new string[5];
            name[0] = "홍길동";
            name[1] = "임꺽정";
            name[2] = "장길산";

            for (int i = 0; i < name.Length; i++) 
            {
                string num = name[i];
                Console.WriteLine(num);
            }
            int index = name.Length;
            Console.WriteLine(index);

            foreach (string indexNum in name) 
            {
                Console.WriteLine(indexNum);
            }

int 타입의 배열

//int 타입의 배열
            int[] damage = new int[5];
            damage[0] = 35;
            damage[1] = 10;
            damage[2] = 40;
            damage[3] = 25;
            damage[4] = 44;

            int damageIndex = damage.Length;
            Console.WriteLine(damageIndex);

            for (int i = 0; i < damage.Length; i++) 
            {
                int index = damage[i];
                Console.WriteLine(index);
            }
            Console.WriteLine("for문을 사용해서 인덱스 요소 내용 불러오기");

            foreach (int damages in damage) 
            {
                Console.WriteLine(damages);
            }
            Console.WriteLine("foreach문을 사용해서 인덱스 요소 내용 불러오기");

 

bool 타입의 배열

//bool 타입의 배열
            bool[] died  = new bool[2];
            died[0] = true;
            died[1] = false;

            int indexLength = died.Length;
            Console.WriteLine(died.Length);

            foreach (bool indexes in died)
            {
                Console.WriteLine(indexes);
            }

            for (int i = 0; i < died.Length; i++)
            { 
                bool index = died[i];
                Console.WriteLine(index);
            }

 

enum타입의 배열

enum eRace { Terran, Protoss, Zerg }
        static void Main(string[] args)
        {
            //enum 타입의 배열 변수 선언
            eRace[] races;

            //enum 배열 인스턴스 생성(빈배열)
            races = new eRace[3];

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

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

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

        }

 

 

'C# > 수업내용' 카테고리의 다른 글

0312 생성자  (0) 2021.03.12
0312 메서드 오버로딩  (0) 2021.03.12
0312 클래스+메서드  (0) 2021.03.12
0311 Class  (0) 2021.03.11
0310 메서드  (0) 2021.03.10