상위 목록: 하위 목록: 작성 날짜: 읽는 데 19 분 소요

배열(Array)

배열(Array)이란 동일한 특성을 가지며 일정한 규칙에 따라 몇몇 요소가 나열된 데이터 집합입니다.

배열의 번호(index)번호에 대응하는 데이터들로 이루어진 자료 구조를 의미합니다.

배열을 선언함으로써 다수의 데이터를 효율적으로 처리할 수 있습니다.

C#에서 배열은 데이터형식[ ] 배열이름 = new 데이터형식[ 크기 ];과 같은 형태로 선언할 수 있습니다.


세부 코드

int[] array = new int[5];


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


int[] array = new int[5];
array[0] = 1;
array[1] = 2;
array[2] = 3;
array[3] = 4;
array[4] = 5;

크기를 지정하지 않으면 배열을 선언할 수 없습니다.



1 차원 배열(One Dimesion)

1 차원 배열은 다음과 같이 표현 할 수 있습니다.

index는 1이 아닌 0부터 시작하게 됩니다.

배열의 크기가 5라면 index0 ~ 4 까지 입니다.


세부 코드

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

for (int i = 0; i < one_dimension.Length; i++)
{
    Console.Write(one_dimension[i]);
}

실제 출력 값 : 12345

배열의 크기는 배열이름.Length를 이용하여 알 수 있습니다.



2 차원 배열(Two Dimesion)

2 차원 배열은 다음과 같이 표현 할 수 있습니다.

index0, 0 에서 n-1, m-1 까지 입니다.


세부 코드

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

int[,] two_dimension = new int[3, 2] { { 1, 2 }, { 3, 4 }, { 5, 6 } };

for (int i = 0; i < two_dimension.GetLength(0); i++)
{
    for (int j = 0; j < two_dimension.GetLength(1); j++)
    {
        Console.Write(two_dimension[i, j]);
    }
    Console.WriteLine();
}

실제 출력 값 : 123 / 456

배열의 크기는 배열이름.GetLength(차원)를 이용하여 알 수 있습니다.

배열이름.GetLength(0)n 방향, 배열이름.GetLength(1)m 방향 입니다.

  • Tip : 배열이름.Length 을 이용하면 n * m의 크기로 판단합니다.

  • Tip : 2 차원 이상의 경우 ,을 추가함으로써 사용할 수 있습니다.



가변 배열(Adjustable Array)

가변 배열 (Adjustable Array)은 배열을 요소로 갖는 배열입니다.

첨자 하나만을 사용해서 1차원 배열에 접근하는 일은 불가능합니다.

가변 배열은 배열을 요소로써 접근합니다.

C#에서 가변 배열은 데이터형식[ ][ ] 배열이름 = new 데이터형식[가변배열의 크기][ ];와 같은 형태로 선언할 수 있습니다.


세부 코드

int[][] Adjustable = new int[3][];

Adjustable[0] = new int[5] { 1, 2, 3, 4, 5 };
Adjustable[1] = new int[] { 6, 7, 8};
Adjustable[2] = new int[] { 9, 10};

Console.Write(Adjustable[0][2]);

실제 출력 값 : 3


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

Console.Write(Adjustable[1][2]);

실제 출력 값 : 8


배열이름[n].GetLength(m) 을 이용하면 가변 배열안에 있는 배열의 크기를 판단할 수 있습니다.

배열이름.GetLength(n) 을 이용하면 가변 배열의 크기를 판단 할 수 있습니다.



목록(List)

목록(List)배열(Array)과 비슷한 역할을 하지만, 약간의 차이점을 지니고 있습니다.

일반적인 배열은 크기를 미리 선언해 사용하지만, 목록은 동적으로 크기 조절이 가능합니다.

또한, 순차적으로 데이터를 넣어야하는 형태(0, 1, 2, 3 … n - 1)이므로 색인값을 지정하지 않아도 됩니다.

C#에서 목록은 다음과 같이 선언할 수 있습니다.

List<데이터형식> 목록이름 = new List<데이터형식>()


세부 코드

List<int> list = new List<int>();

for (int i = 0; i < 10; i++)
{
    list.Add(i + 100);
}

Console.WriteLine(list[3]);

실제 출력 값 : 103


값을 목록에 추가할 때는 Add 메서드를 통해 삽입이 가능합니다.

반대로, 값을 제거할 때는 Remove(특정 요소 제거), RemoveAt(특정 색인값 제거), RemoveAll(모두 제거) 메서드를 통해 제거가 가능합니다.

목록 형태에서 확인할 수 있듯이, <데이터형식>을 변경하면 다른 형태의 목록도 가능합니다.


List<double[]> list = new List<double[]>();

for (int i = 0; i < 10; i++)
{
    list.Add(new double[] { i, i + 1 });
}

Console.WriteLine($"{list[3][0]}, {list[3][1]}");

Console.WriteLine(list.Count);

실제 출력 값 : 3, 4 / 10


앞선 1차원 배열을 비롯해 2차원 배열, 가변 배열, 목록 개체 등을 데이터 형식으로 사용할 수 있습니다.

목록의 요소 수는 Count 메서드를 통해 확인할 수 있습니다.

목록 내부에 포함된 double[]객체의 요소 수는 Length 메서드를 통해 확인할 수 있습니다.

댓글 남기기