Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#에서 시퀀스의 전체 요소 개수를 64비트 부호 있는 정수로 반환하는 방법

C#에서 시퀀스에 포함된 요소의 총 개수를 64비트 부호 있는 정수(long) 형태로 반환하려면 LINQ의 LongCount 메서드를 사용할 수 있습니다. 일반적인 Count 메서드와 달리 LongCount는 int 범위를 초과하는 대용량 컬렉션도 안전하게 처리할 수 있다는 장점이 있습니다.

1. 문자열 배열 선언

먼저 예제에 사용할 문자열 배열을 선언합니다.

string[] num = { "One", "Two", "Three", "Four", "Five"};

2. LongCount 메서드로 요소 개수 구하기

배열을 AsQueryable()로 변환한 뒤 LongCount 메서드를 호출하면, 시퀀스의 전체 요소 개수가 long 타입으로 반환됩니다.

num.AsQueryable().LongCount();

전체 예제 코드

지금까지 설명한 내용을 하나로 합친 완전한 코드는 다음과 같습니다.

using System;
using System.Collections.Generic;
using System.Linq;

class Demo {
    static void Main() {
        string[] num = { "One", "Two", "Three", "Four", "Five"};
        long res = num.AsQueryable().LongCount();
        Console.WriteLine("{0} elements", res);
    }
}

실행 결과

5 elements

정리

이처럼 LongCount 메서드를 사용하면 시퀀스의 요소 개수를 64비트 부호 있는 정수(long)로 손쉽게 얻을 수 있습니다. 특히 매우 큰 데이터 소스에서 요소 수를 계산할 때 오버플로우 걱정 없이 안전하게 사용할 수 있습니다.