Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# 가변 배열(Jagged Array)의 요소에 접근하는 방법

가변 배열이란?

가변 배열(Jagged Array)은 말 그대로 '배열의 배열'입니다. 일반적인 2차원 배열과 달리 각 내부 배열의 길이가 서로 달라도 되기 때문에 유연하게 데이터를 구성할 수 있습니다. 가변 배열의 요소에 접근하려면 해당 내부 배열의 인덱스와, 그 안에서 원하는 요소의 인덱스를 차례로 지정하면 됩니다.

다음은 정수형 배열 5개로 구성된 가변 배열의 예입니다.

int[][] a = new int[][]{new int[]{0,0},new int[]{1,2}, new int[]{2,4},new int[]{ 3, 6 }, new int[]{ 4, 8 } };

만약 세 번째 배열의 두 번째 요소에 접근해야 한다면 아래와 같이 작성합니다.

a[2][1]

위 코드는 가변 배열에서 세 번째 배열(인덱스 2)의 첫 번째 위치 뒤에 있는 요소, 즉 두 번째 요소(인덱스 1)에 접근하는 예입니다. C#의 배열 인덱스는 0부터 시작하기 때문에 '세 번째 배열'의 인덱스는 2가 된다는 점에 유의하세요.

전체 예제 코드

using System;

namespace Demo {
    class Program {
        static void Main(string[] args) {

            // 정수형 배열 5개로 이루어진 가변 배열 선언 및 초기화
            int[][] a = new int[][]{new int[]{0,0},new int[]{1,2}, new int[]{2,4},new int[]{ 3, 6 }, new int[]{ 4, 8 } };
            int i, j;

            // 중첩 반복문으로 모든 요소 출력
            for (i = 0; i < 5; i++) {
                for (j = 0; j < 2; j++) {
                    Console.WriteLine("a[{0}][{1}] = {2}", i, j, a[i][j]);
                }
            }

            // 가변 배열의 특정 요소에 직접 접근
            Console.WriteLine(a[2][1]);

            Console.ReadKey();
        }
    }
}

실행 결과

a[0][0] = 0
a[0][1] = 0
a[1][0] = 1
a[1][1] = 2
a[2][0] = 2
a[2][1] = 4
a[3][0] = 3
a[3][1] = 6
a[4][0] = 4
a[4][1] = 8
4

마지막 줄의 4가 바로 a[2][1], 즉 세 번째 배열의 두 번째 요소 값입니다. 이처럼 대괄호를 연달아 사용하는 이중 인덱스 표기법만 기억하면 가변 배열의 어떤 요소든 손쉽게 읽고 수정할 수 있습니다.