다음을 통해 공유


집계 작업

집계 작업은 값의 컬렉션에서 단일 값을 계산합니다. 집계 작업의 예로 1개월 간의 일별 기온 값에서 일별 평균 기온을 계산하는 작업을 들 수 있습니다.

다음 그림에서는 숫자의 시퀀스에서 두 개의 다른 집계 작업의 결과를 보여 줍니다. 첫 번째 작업은 숫자의 합계를 구합니다. 두 번째 작업에서는 시퀀스의 최대값을 반환합니다.

LINQ 집계 작업

집계 작업을 수행하는 표준 쿼리 연산자 메서드는 다음 단원에 나열되어 있습니다.

메서드

메서드 이름

설명

C# 쿼리 식 구문

Visual Basic 쿼리 식 구문

추가 정보

집계

컬렉션의 값에서 사용자 지정 집계 작업을 수행합니다.

해당 사항 없음.

해당 사항 없음.

Enumerable.Aggregate

Queryable.Aggregate

Average

값 컬렉션의 평균 값을 계산합니다.

해당 사항 없음.

Aggregate … In … Into Average()

Enumerable.Average

Queryable.Average

개수

컬렉션에서 요소의 개수를 계산합니다. 경우에 따라 조건자 함수를 만족하는 요소만 계산합니다.

해당 사항 없음.

Aggregate … In … Into Count()

Enumerable.Count

Queryable.Count

LongCount

큰 컬렉션에서 요소의 개수를 계산합니다. 경우에 따라 조건자 함수를 만족하는 요소만 계산합니다.

해당 사항 없음.

Aggregate … In … Into LongCount()

Enumerable.LongCount

Queryable.LongCount

최대값

컬렉션에서 최대값을 결정합니다.

해당 사항 없음.

Aggregate … In … Into Max()

Enumerable.Max

Queryable.Max

최소값

컬렉션에서 최소값을 결정합니다.

해당 사항 없음.

Aggregate … In … Into Min()

Enumerable.Min

Queryable.Min

합계

컬렉션에서 값의 합계를 계산합니다.

해당 사항 없음.

Aggregate … In … Into Sum()

Enumerable.Sum

Queryable.Sum

쿼리 식 구문 예제

Average

다음 코드 예제에서는 Visual Basic의 Aggregate Into Average 절을 사용하여 기온을 나타내는 숫자의 배열에서 평균 기온을 계산합니다.


        Dim temperatures() As Double = {72.0, 81.5, 69.3, 88.6, 80.0, 68.5}

        Dim avg = Aggregate temp In temperatures Into Average()

        ' Display the result.
        MsgBox(avg)

        ' This code produces the following output:

        ' 76.65

개수

다음 코드 예제에서는 Visual Basic의 Aggregate Into Count 절을 사용하여 배열에서 80 이상인 값의 개수를 계산합니다.


        Dim temperatures() As Double = {72.0, 81.5, 69.3, 88.6, 80.0, 68.5}

        Dim highTemps As Integer = Aggregate temp In temperatures Into Count(temp >= 80)

        ' Display the result.
        MsgBox(highTemps)

        ' This code produces the following output:

        ' 3

LongCount

다음 코드 예제에서는 Visual Basic의 Aggregate Into LongCount 절을 사용하여 배열에 있는 값의 개수를 계산합니다.


        Dim temperatures() As Double = {72.0, 81.5, 69.3, 88.6, 80.0, 68.5}

        Dim numTemps As Long = Aggregate temp In temperatures Into LongCount()

        ' Display the result.
        MsgBox(numTemps)

        ' This code produces the following output:

        ' 6

최대값

다음 코드 예제에서는 Visual Basic의 Aggregate Into Max 절을 사용하여 기온을 나타내는 숫자의 배열에서 최대 기온을 계산합니다.


        Dim temperatures() As Double = {72.0, 81.5, 69.3, 88.6, 80.0, 68.5}

        Dim maxTemp = Aggregate temp In temperatures Into Max()

        ' Display the result.
        MsgBox(maxTemp)

        ' This code produces the following output:

        ' 88.6

최소값

다음 코드 예제에서는 Visual Basic의 Aggregate Into Min 절을 사용하여 기온을 나타내는 숫자의 배열에서 최소 기온을 계산합니다.


        Dim temperatures() As Double = {72.0, 81.5, 69.3, 88.6, 80.0, 68.5}

        Dim minTemp = Aggregate temp In temperatures Into Min()

        ' Display the result.
        MsgBox(minTemp)

        ' This code produces the following output:

        ' 68.5

합계

다음 코드 예제에서는 Visual Basic의 Aggregate Into Sum 절을 사용하여 비용을 나타내는 값의 배열에서 총 비용 금액을 계산합니다.


        Dim expenses() As Double = {560.0, 300.0, 1080.5, 29.95, 64.75, 200.0}

        Dim totalExpense = Aggregate expense In expenses Into Sum()

        ' Display the result.
        MsgBox(totalExpense)

        ' This code produces the following output:

        ' 2235.2

참고 항목

작업

방법: CSV 텍스트 파일의 열 값 계산(LINQ)

방법: LINQ를 사용하여 데이터 개수, 합 또는 평균 계산(Visual Basic)

방법: LINQ를 사용하여 쿼리 결과의 최소값 또는 최대값 찾기(Visual Basic)

방법: 디렉터리 트리에서 가장 큰 파일을 하나 이상 쿼리(LINQ)

방법: 폴더 집합의 전체 바이트 수 쿼리(LINQ)

참조

Aggregate 절(Visual Basic)

System.Linq

개념

표준 쿼리 연산자 개요