본문 바로가기

개인공부/C#

[C#] 배열(Array)

■ 배열(Array) :

 - 형식이 동일한 변수를 여러 개 저장할 수 있는 데이터 집합

 - 배열 요소는 Index로 접근 가능, 첫 번째 요소는 Index 0이다.

 - 배열은 단일 차원, 2차원 이상의 다차원 또는 가변적일 수 있다.

 - 추상 형식(System.Array)에서 파생된 참조 형식이다.

 - 배열은 반복문(for/foreach)과 함께 사용하면 효율적이다.

 

■ Example

// 기본 초기화
int[] int_array = new int[5] { 1, 2, 3, 4, 5 };
            
// 요소 개수 생략
string[] string_array = new string[] { "Memoo", "ABC", "가나다" };

// new, 요소 개수 생략
double[] double_array = { 0.1, 0.2, 0.3 };

foreach(var item in int_array)
    Console.WriteLine($"[int_array] : {item}");
Console.WriteLine();

for(int i = 0; i < string_array.Length; i++)
    Console.WriteLine($"[string_array] : [{i}] = {string_array[i]}");
Console.WriteLine();

for (int i = 0; i < double_array.Length; i++)
    Console.WriteLine($"[double_array] : [{i}] = {double_array[i]}");

 

Example 결과

 

 

■ 다차원 배열(Multidimensional Array)

 -  2개 이상의 차원로 요소 배치

 

■ 가변 배열(Jagged Array) 

 - 요소의 크기가 고정적이지 않은 배열

 - 배열 속 배열 형태

 

■ Example

// 다차원 배열(2차원)
int[,] m_array = new int[2, 3] { { 100, 200, 300 }, { 400, 500, 600 } };

// 가변 배열
int[][] j_array = new int[][]
{
    new int[] {1,2,3},
    new int[] {10, 20, 30, 40},
    new int[] {100, 200, 300, 400}
};

for(int i = 0; i < m_array.Rank; i++)
    for(int j = 0; j < m_array.Length/m_array.Rank; j++)
        Console.WriteLine($"[m_array] [{i}][{j}] = {m_array[i,j]}");

foreach(var item in j_array)
    foreach(var row in item)
        Console.WriteLine($"[j_array] {row}");

 

Example 결과