C#의 LINQ에서 제공하는 LongCount() 메서드를 사용하면 컬렉션에 포함된 요소의 개수를 long 타입으로 손쉽게 구할 수 있습니다. 일반적인 Count() 메서드는 int 타입을 반환하지만, 요소 수가 매우 많은 대용량 데이터를 다룰 때는 LongCount()가 유용합니다.
예제 데이터 준비
먼저 다음과 같은 문자열 배열이 있다고 가정해 보겠습니다.
string[] emp = { "Jack", "Mark" };LongCount() 메서드 적용하기
배열을 AsQueryable()로 변환한 뒤 LongCount() 메서드를 호출하면 됩니다.
emp.AsQueryable().LongCount();
전체 예제 코드
아래는 위 내용을 모두 포함한 완전한 실행 코드입니다.
using System;
using System.Collections.Generic;
using System.Linq;
class Demo {
static void Main() {
string[] emp = { "Jack", "Mark" };
long res = emp.AsQueryable().LongCount();
Console.WriteLine("{0} employees in the Department", res);
}
}실행 결과
프로그램을 실행하면 다음과 같은 출력 결과를 확인할 수 있습니다.
2 employees in the Department
핵심 정리
LongCount()는 LINQ의IQueryable<T>인터페이스에서 제공되며, 요소 개수를long타입으로 반환합니다.- 요소가 20억 개(
int.MaxValue)를 초과할 가능성이 있는 대규모 데이터 소스에 적합합니다. - 조건을 추가하고 싶다면
LongCount(x => 조건식)형태로 람다 식을 전달하여 특정 조건을 만족하는 요소만 셀 수도 있습니다.