C# 강좌 : 제 16강 - 배열
배열(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
라면 index
는 0 ~ 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 차원 배열
은 다음과 같이 표현 할 수 있습니다.
index
는 0, 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
메서드를 통해 확인할 수 있습니다.
공유하기


댓글 남기기