Agregační operace (Visual Basic)
Agregační operace vypočítá jednu hodnotu z kolekce hodnot. Příkladem agregační operace je výpočet průměrné denní teploty z hodnot denní teploty za měsíc.
Následující obrázek znázorňuje výsledky dvou různých agregačních operací v posloupnosti čísel. První operace sečte čísla. Druhá operace vrátí maximální hodnotu v sekvenci.
Standardní metody operátoru dotazu, které provádějí agregační operace, jsou uvedeny v následující části.
Metody
Název metody | Popis | Syntaxe výrazů dotazu jazyka Visual Basic | Další informace |
---|---|---|---|
Agregovat | Provede vlastní operaci agregace s hodnotami kolekce. | Nevztahuje se. | Enumerable.Aggregate Queryable.Aggregate |
Průměr | Vypočítá průměrnou hodnotu kolekce hodnot. | Aggregate … In … Into Average() |
Enumerable.Average Queryable.Average |
Počet | Spočítá prvky v kolekci, volitelně pouze ty prvky, které splňují predikát funkce. | Aggregate … In … Into Count() |
Enumerable.Count Queryable.Count |
LongCount | Spočítá prvky ve velké kolekci, volitelně pouze ty prvky, které splňují predikát funkce. | Aggregate … In … Into LongCount() |
Enumerable.LongCount Queryable.LongCount |
Max nebo MaxBy | Určuje maximální hodnotu v kolekci. | Aggregate … In … Into Max() |
Enumerable.Max Enumerable.MaxBy Queryable.Max Queryable.MaxBy |
Min nebo MinBy | Určuje minimální hodnotu v kolekci. | Aggregate … In … Into Min() |
Enumerable.Min Enumerable.MinBy Queryable.Min Queryable.MinBy |
Sum | Vypočítá součet hodnot v kolekci. | Aggregate … In … Into Sum() |
Enumerable.Sum Queryable.Sum |
Příklady syntaxe výrazů dotazů
Průměr
Následující příklad kódu používá klauzuli Aggregate Into Average
v jazyce Visual Basic k výpočtu průměrné teploty v matici čísel, která představují teploty.
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í příklad kódu používá klauzuli Aggregate Into Count
v jazyce Visual Basic ke spočítání počtu hodnot v matici, které jsou větší nebo rovny 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í příklad kódu používá Aggregate Into LongCount
klauzuli k počítání počtu hodnot v poli.
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
Maximum
Následující příklad kódu používá Aggregate Into Max
klauzuli k výpočtu maximální teploty v matici čísel představujících teploty.
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í příklad kódu používá Aggregate Into Min
klauzuli k výpočtu minimální teploty v matici čísel představujících teploty.
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
Sum
Následující příklad kódu používá Aggregate Into Sum
klauzuli k výpočtu celkové částky výdajů 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é
- System.Linq
- Přehled standardních operátorů dotazů (Visual Basic)
- Klauzule Aggregate
- Postupy: Výpočet hodnot sloupců v textovém souboru CSV (LINQ) (Visual Basic)
- Postupy: Počet, součet nebo průměr dat
- Postupy: Vyhledání minimální nebo maximální hodnoty ve výsledku dotazu
- Postupy: Dotazování na největší soubor nebo soubory ve stromu adresáře (LINQ) (Visual Basic)
- Postupy: Dotazování na celkový počet bajtů v sadě složek (LINQ) (Visual Basic)