Sdílet prostřednictvím


Agregace operací

Operace agregace vypočítá hodnotu jednoho z kolekce hodnot.Příklad agregace operace je výpočet průměrné denní teploty z denních hodnot teploty hodnotě za měsíc.

Následující obrázek ukazuje výsledky dvou různých agregace operací na posloupnost čísel.První operace sečte čísla.Druhá operace vrátí maximální hodnotu v sekvenci.

LINQ – operace agregace

V následující části jsou uvedeny metody operátor standardního dotazu, které provádějí operace agregace.

Metody

Název metody

Description

Syntaxi výrazu dotazu C#

Visual BasicSyntaxe dotazu výraz

Další informace

Souhrn

Provádí operaci vlastní agregaci hodnot kolekce.

Nelze použít

Nelze použít

Enumerable.Aggregate

Queryable.Aggregate

Průměr

Vypočítá průměrnou hodnotu kolekce hodnot.

Nelze použít

Aggregate … In … Into Average()

Enumerable.Average

Queryable.Average

Počet

Prvky v kolekci, volitelně pouze ty prvky, které splňují predikátu funkce počítá.

Nelze použít

Aggregate … In … Into Count()

Enumerable.Count

Queryable.Count

LongCount

Vrátí počet prvků v kolekci velkých volitelně pouze ty prvky, které splňují predikátu funkce.

Nelze použít

Aggregate … In … Into LongCount()

Enumerable.LongCount

Queryable.LongCount

Max

Určuje maximální hodnotu v kolekci.

Nelze použít

Aggregate … In … Into Max()

Enumerable.Max

Queryable.Max

Min

Určuje minimální hodnotu v kolekci.

Nelze použít

Aggregate … In … Into Min()

Enumerable.Min

Queryable.Min

Součet

Vypočítá součet hodnot v kolekci.

Nelze použít

Aggregate … In … Into Sum()

Enumerable.Sum

Queryable.Sum

Příklady syntaxe výraz dotazu

Bb546138.collapse_all(cs-cz,VS.110).gifPrůměr

Následující kód například používá Aggregate Into Average v klauzuli Visual Basic k výpočtu průměrné teploty v matici čísel, která představují teplot.


        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(cs-cz,VS.110).gifPočet

Následující kód například používá Aggregate Into Count v klauzuli Visual Basic můžete zjistit počet hodnot v matici, které jsou větší než nebo rovna 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(cs-cz,VS.110).gifLongCount

Následující kód například používá Aggregate Into LongCount v klauzuli Visual Basic můžete zjistit počet hodnot v matici.


        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(cs-cz,VS.110).gifMax

Následující kód například používá Aggregate Into Max v klauzuli Visual Basic pro výpočet maximální teplota v matici čísel, která představují teplot.


        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(cs-cz,VS.110).gifMin

Následující kód například používá Aggregate Into Min v klauzuli Visual Basic pro výpočet minimální teplota v matici čísel, která představují teplot.


        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(cs-cz,VS.110).gifSoučet

Následující kód například používá Aggregate Into Sum v klauzuli Visual Basic k výpočtu částky celkové náklady z pole hodnot, které představují výdaje.


        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

Viz také

Úkoly

Jak: výpočet hodnot sloupců v textovém souboru CSV (LINQ)

Jak: počet, součet nebo průměr dat pomocí LINQ (Visual Basic)

Jak: vyhledání minimální nebo maximální hodnotu ve výsledku dotazu pomocí LINQ (Visual Basic)

Jak: dotaz na největší soubor nebo soubory v adresáři stromu (LINQ)

Jak: dotaz pro celkový počet bajtů v sadě složek (LINQ)

Referenční dokumentace

Agregační klauzule (Visual Basic)

System.Linq

Koncepty

Přehled operátorů standardní dotaz