Sdílet prostřednictvím


Agregační operace

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``1

Queryable.Aggregate``1

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``1

Queryable.Count``1

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``1

Queryable.LongCount``1

Max

Určuje maximální hodnotu v kolekci.

Nelze použít

Aggregate … In … Into Max()

Enumerable.Max

Queryable.Max``1

Min

Určuje minimální hodnotu v kolekci.

Nelze použít

Aggregate … In … Into Min()

Enumerable.Min

Queryable.Min``1

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

Prů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

Poč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

LongCount

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

Max

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

Min

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

Souč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

Postupy: Výpočet hodnot sloupce v textovém souboru CSV (LINQ)

Postupy: Počet, suma nebo průměr dat pomocí LINQ (Visual Basic)

Postupy: Hledání minimální nebo maximální hodnoty ve výsledku dotazu pomocí LINQ (Visual Basic)

Postupy: Vytvoření dotazu na největší soubor či soubory v adresářovém stromu (LINQ)

Postupy: Vytvoření dotazu na celkový počet bajtů v sadě složek (LINQ)

Referenční dokumentace

Aggregate – klauzule (Visual Basic)

System.Linq

Koncepty

Přehled standardních operátorů dotazu