ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [10강] 배열/객체배열, 속성/인덱서 비교
    프로그래밍/C# 2022. 6. 20. 02:04

    목차

    배열 형식 비교
    클래스 배열
    속성과 인덱서 비교

     

    배열 형식 비교

    고정 배열

    일차원 배열 선언과 값 할당

      int[] array;

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

     

    이차원, 다차원 배열 선언. 선언과 동시에 값 할당 가능

      int[,] array1 = new int[2, 3];

      int[,,] array2 = new int[,,] { { { 1, 2 }, { 3, 4 } }, { { 5, 6 }, { 7, 8 } } };

     

    고정 배열 사용

      array[1, 0] = 3;

      array[0, 1, 3] = 12;

     

    가변 배열

    형식

      int[][] array = new int[2][];

      array[0] = new int[4];

      array[1] = newi nt[3];

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

      array[1] = new int[] { 5,6,7 };

     

    사용 형식

      array[0][1] = 12;

      array[1][2][3] = 13;

     

    클래스 배열

    형식

      class A { ... }

      A[] testArray = new A[3];

      testArray[0] = new A();

      testArray[1] = new A();

      testArray[2] = new A();

     

    예시 코드

    class A
    {
    	public int number;
    }
    
    A[] testArray = new A[3];
    teatArray[0] = new A();
    testArray[0].number = 12;
    // ... 중략
    int result = testArray[0].number;

     

    속성과 인덱서 비교

    속성 형식

    속성의 목적

      private, protected 멤버변수를 외부에서 접근하기 위한 것. 클래스 안에서 속성을 통해 외부의 입력을 제한하며 사용할 수 있도록 하기 위함. 단순히 값을 대입하고 읽는 것 이외에 논리 처리가 가능하다. 

    형식

      class A

      {

          int number;

          public int Number

          {

              get { return number };

              set { number = value };

          }

      }

     

    클래스 멤버 배열과 인덱서 형식 비교

    클래스 멤버 배열 예시 코드

    class A
    {
    	public int[] number = new int[3];
    }
    
    A[] test = new A[2];
    test[0] = new A();
    test[1] = new A();
    test[0].number[0] = 3;

     

    인덱서 예시 코드

    class A
    {
    	int[] number = new int[3];
        public int this[int index]
        {
        	get { return number[index]; }
            set { number[index] = value; }
        }
    }
    
    A[] test = new A[2];
    test[0] = new A();
    test[0][0] = 1;

     

     

    '프로그래밍 > C#' 카테고리의 다른 글

    [12강] 상속  (0) 2022.08.13
    [11강] 델리게이트와 이벤트  (0) 2022.06.20
    [09강] 속성과 인덱서  (0) 2022.06.13
    [08강] 클래스  (0) 2022.05.31
    [07강] 프로젝트 실습 - 스마트 밥솥  (0) 2022.05.29
Designed by Tistory.