C#의 GetLongLength 메서드는 Array(배열)에서 지정한 차원에 포함된 요소의 개수를 64비트 정수(long) 형태로 반환합니다. 일반적인 GetLength 메서드가 32비트 int 값을 반환하는 것과 달리, 요소 수가 int 범위를 초과할 수 있는 초대형 배열을 다룰 때 유용하게 사용됩니다.
기본 사용법
먼저 다차원 배열을 선언합니다.
long[] arr2 = new long[15, 35];
배열의 특정 차원에 대한 요소 개수를 구하려면 GetLongLength() 메서드에 해당 차원의 인덱스를 인수로 전달하면 됩니다. 첫 번째 차원은 0, 두 번째 차원은 1입니다.
long len2 = arr2.GetLongLength(0);
이제 전체 예제 코드를 살펴보겠습니다.
예제
using System;
class Program {
static void Main() {
int[] arr = new int[20, 30];
int len = arr.GetLength(0);
Console.WriteLine(len);
long[] arr2 = new long[15, 35];
long len2 = arr2.GetLongLength(0);
Console.WriteLine(len2);
}
}실행 결과
20 15
결과 해설
arr.GetLength(0)은 첫 번째 차원의 크기인 20을 반환하고, arr2.GetLongLength(0)은 첫 번째 차원의 크기인 15를 64비트 정수로 반환합니다.
GetLength와 GetLongLength의 차이점
두 메서드 모두 지정한 차원의 요소 개수를 반환하지만, 반환 타입이 다릅니다. GetLength는 int(32비트)를, GetLongLength는 long(64비트)을 반환합니다. 따라서 배열의 총 요소 수가 약 21억 개(int 최대값)를 넘을 가능성이 있다면 GetLongLength를 사용하는 것이 안전합니다.