C# 배열 클래스란?
C#에서 Array(배열) 클래스는 모든 배열의 기본(base) 클래스 역할을 하며, System 네임스페이스에 정의되어 있습니다. 이 클래스는 배열을 생성하고 다룰 때 유용하게 활용할 수 있는 다양한 속성과 메서드를 제공합니다.
배열 클래스의 주요 속성
| 번호 | 속성 및 설명 |
|---|---|
| 1 | IsFixedSize 배열의 크기가 고정되어 있는지 여부를 나타내는 값을 반환합니다. |
| 2 | IsReadOnly 배열이 읽기 전용(read-only)인지 여부를 나타내는 값을 반환합니다. |
| 3 | Length 배열의 모든 차원에 포함된 요소의 총 개수를 32비트 정수(int) 형태로 반환합니다. |
| 4 | LongLength 배열의 모든 차원에 포함된 요소의 총 개수를 64비트 정수(long) 형태로 반환합니다. 요소 수가 int 범위를 초과하는 대형 배열에 유용합니다. |
| 5 | Rank 배열의 차원 수(rank)를 반환합니다. 예를 들어 2차원 배열이라면 2를 반환합니다. |
Rank 속성으로 배열의 차원 확인하기
Rank 속성을 사용하면 배열이 몇 차원으로 구성되어 있는지 쉽게 알 수 있습니다.
arr.Rank
여기서 arr은 다음과 같이 선언한 2차원 배열입니다.
int[] arr = new int[3,4];
배열의 행(row)과 열(column) 개수를 각각 확인하려면 GetLength 메서드를 사용합니다.
arr.GetLength(0); // 첫 번째 차원(행)의 길이 → 3 arr.GetLength(1); // 두 번째 차원(열)의 길이 → 4
전체 예제 코드
다음은 배열의 길이, 상한·하한 인덱스, 차원 수를 한 번에 출력하는 완전한 예제입니다.
using System;
class Program {
static void Main() {
int[] arr = new int[3,4];
// 각 차원의 길이 확인
Console.WriteLine(arr.GetLength(0));
Console.WriteLine(arr.GetLength(1));
// 전체 요소 개수 확인
Console.WriteLine(arr.Length);
// 인덱스의 상한과 하한 확인
Console.WriteLine("Upper Bound: {0}", arr.GetUpperBound(0).ToString());
Console.WriteLine("Lower Bound: {0}", arr.GetLowerBound(0).ToString());
// 배열의 차원 수 확인
Console.WriteLine("Dimensions of Array : " + arr.Rank);
}
}실행 결과
3 4 12 Upper Bound: 2 Lower Bound: 0 Dimensions of Array : 2
결과 해설
- 3, 4:
GetLength(0)과GetLength(1)의 결과로, 각각 첫 번째 차원(행)과 두 번째 차원(열)의 크기를 나타냅니다. - 12:
Length속성의 값으로, 3 × 4 = 12개의 전체 요소 개수를 의미합니다. - Upper Bound: 2 / Lower Bound: 0: C# 배열의 인덱스는 0부터 시작하므로, 크기가 3인 차원의 인덱스 범위는 0~2입니다.
- Dimensions of Array : 2:
Rank속성이 이 배열이 2차원 배열임을 나타냅니다.