Udostępnij za pośrednictwem


Operacje agregacji

Operacja agregacji oblicza pojedynczą wartość ze zbioru wartości.Przykładem operacji agregacji jest obliczanie średniej temperatury dziennej z miesięcznej wartości temperatury dziennych.

Poniższa ilustracja pokazuje wyniki dwie operacje agregacji różnych sekwencji numerów.Pierwsza operacja sumuje liczby.Druga operacja zwraca maksymalną wartość w sekwencji.

Operacje agregacji programu LINQ

Kwerendy standardowe metody operatora, wykonujących operacje agregacji są wymienione w poniższej sekcji.

Metody

Nazwa metody

Opis

Kwerendy języka C# składni wyrażenia

Visual BasicSkładni wyrażenia kwerendy

Więcej informacji

Łączna

Wykonuje operację agregacji niestandardowych na podstawie wartości kolekcji.

Nie dotyczy.

Nie dotyczy.

Enumerable.Aggregate

Queryable.Aggregate

Średnia

Oblicza wartość średnią ze zbioru wartości.

Nie dotyczy.

Aggregate … In … Into Average()

Enumerable.Average

Queryable.Average

Licznik

Zlicza elementy w kolekcji, opcjonalnie tylko te elementy, które spełniają funkcji predykatu.

Nie dotyczy.

Aggregate … In … Into Count()

Enumerable.Count

Queryable.Count

LongCount

Zlicza elementy w kolekcji duże, opcjonalnie tylko te elementy, które spełniają predykatu funkcji.

Nie dotyczy.

Aggregate … In … Into LongCount()

Enumerable.LongCount

Queryable.LongCount

MAX

Określa maksymalną wartość w zbiorze.

Nie dotyczy.

Aggregate … In … Into Max()

Enumerable.Max

Queryable.Max

Min

Określa minimalną wartość w zbiorze.

Nie dotyczy.

Aggregate … In … Into Min()

Enumerable.Min

Queryable.Min

Suma

Oblicza sumę wartości w zbiorze.

Nie dotyczy.

Aggregate … In … Into Sum()

Enumerable.Sum

Queryable.Sum

Przykłady składni wyrażenia kwerendy

Bb546138.collapse_all(pl-pl,VS.110).gifŚrednia

Następujący kod w przykładzie wykorzystano Aggregate Into Average w klauzuli Visual Basic do obliczania średniej temperatury w tablicy liczb reprezentujących temperatur.


        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

Bb546138.collapse_all(pl-pl,VS.110).gifLicznik

Następujący kod w przykładzie wykorzystano Aggregate Into Count w klauzuli Visual Basic do liczenia wartości w tablicy, które są większe niż lub równe 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

Bb546138.collapse_all(pl-pl,VS.110).gifLongCount

Następujący kod w przykładzie wykorzystano Aggregate Into LongCount w klauzuli Visual Basic do liczenia wartości w tablicy.


        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

Bb546138.collapse_all(pl-pl,VS.110).gifMAX

Następujący kod w przykładzie wykorzystano Aggregate Into Max w klauzuli Visual Basic do obliczania maksymalnej temperatury w tablicy liczb reprezentujących temperatur.


        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

Bb546138.collapse_all(pl-pl,VS.110).gifMin

Następujący kod w przykładzie wykorzystano Aggregate Into Min w klauzuli Visual Basic do obliczania minimalna temperatura w tablicy liczb reprezentujących temperatur.


        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

Bb546138.collapse_all(pl-pl,VS.110).gifSuma

Następujący kod w przykładzie wykorzystano Aggregate Into Sum w klauzuli Visual Basic do obliczania kwoty wydatków ogółem z tablicy wartości, które stanowią wydatki.


        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

Zobacz też

Zadania

Jak: obliczania wartości kolumn plik tekstowy CSV (LINQ)

Jak: licznik, Suma lub średnia danych przy użyciu LINQ (Visual Basic)

Jak: znaleźć minimalna lub maksymalna wartość wyniku kwerendy przy użyciu LINQ (Visual Basic)

Jak: kwerendy dla największych plik lub pliki w drzewie katalogów (LINQ)

Jak: kwerendy o całkowitą liczbę bajtów w zbiorze folderów (LINQ)

Informacje

Klauzula agregacji (Visual Basic)

System.Linq

Koncepcje

Omówienie operatory kwerendy standardowe