C#에서 Array 클래스는 모든 배열의 기본(base) 클래스로, System 네임스페이스에 정의되어 있습니다. 이 클래스는 배열을 생성하고 조작하는 데 유용한 다양한 메서드를 제공합니다. 아래에서 가장 많이 사용되는 Array 클래스의 핵심 메서드를 살펴보겠습니다.
Array 클래스의 주요 메서드
| 번호 | 메서드 및 설명 |
|---|---|
| 1 | Clear 배열의 지정된 범위에 있는 요소를 요소 타입에 따라 0, false 또는 null로 설정합니다. |
| 2 | Copy(Array, Array, Int32) 한 배열의 첫 번째 요소부터 시작하여 지정된 범위의 요소를 다른 배열의 첫 번째 위치부터 복사합니다. 길이는 32비트 정수로 지정됩니다. |
| 3 | CopyTo(Array, Int32) 현재 1차원 배열의 모든 요소를 대상 배열의 지정된 인덱스 위치부터 복사합니다. 인덱스는 32비트 정수로 지정됩니다. |
| 4 | GetLength 배열의 지정된 차원에 포함된 요소 개수를 나타내는 32비트 정수를 반환합니다. |
| 5 | GetLongLength 배열의 지정된 차원에 포함된 요소 개수를 나타내는 64비트 정수를 반환합니다. |
| 6 | GetLowerBound 배열에서 지정된 차원의 하한(시작 인덱스)을 가져옵니다. |
| 7 | GetType 현재 인스턴스의 Type을 반환합니다. (Object 클래스에서 상속됨) |
| 8 | GetUpperBound 배열에서 지정된 차원의 상한(마지막 인덱스)을 가져옵니다. |
다음은 Array 클래스의 메서드를 사용하여 배열의 상한(Upper Bound)과 하한(Lower Bound)을 구하는 예제입니다.
예제 코드
using System;
class Program {
static void Main() {
int[] arr = new int[3,4];
Console.WriteLine(arr.GetLength(0));
Console.WriteLine(arr.GetLength(1));
// Length
Console.WriteLine(arr.Length);
Console.WriteLine("Upper Bound: {0}",arr.GetUpperBound(0).ToString());
Console.WriteLine("Lower Bound: {0}",arr.GetLowerBound(0).ToString());
}
}실행 결과
3 4 12 Upper Bound: 2 Lower Bound: 0
코드 설명
위 예제에서 int[3,4]로 선언된 2차원 배열은 3행 4열 구조입니다. 따라서 GetLength(0)은 첫 번째 차원(행)의 크기인 3을, GetLength(1)은 두 번째 차원(열)의 크기인 4를 반환하며, 전체 요소 개수인 Length는 12가 출력됩니다.
또한 C# 배열은 기본적으로 0부터 시작하기 때문에 GetUpperBound(0)은 마지막 인덱스인 2를, GetLowerBound(0)은 시작 인덱스인 0을 반환합니다. 이처럼 Array 클래스의 메서드를 활용하면 다차원 배열의 구조와 크기를 손쉽게 확인할 수 있습니다.