Operacje agregacji (Visual Basic)

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

Poniższa ilustracja przedstawia wyniki dwóch różnych operacji agregacji w sekwencji liczb. Pierwsza operacja sumuje liczby. Druga operacja zwraca maksymalną wartość w sekwencji.

Illustration that shows LINQ aggregation operations.

Standardowe metody operatorów zapytań, które wykonują operacje agregacji, są wymienione w poniższej sekcji.

Metody

Nazwa metody opis Składnia wyrażeń zapytań języka Visual Basic Więcej informacji
Agregacja Wykonuje niestandardową operację agregacji na wartościach kolekcji. Nie dotyczy. Enumerable.Aggregate

Queryable.Aggregate
Średnia Oblicza średnią wartość kolekcji wartości. Aggregate … In … Into Average() Enumerable.Average

Queryable.Average
Count Zlicza elementy w kolekcji, opcjonalnie tylko te elementy, które spełniają funkcję predykatu. Aggregate … In … Into Count() Enumerable.Count

Queryable.Count
Longcount Zlicza elementy w dużej kolekcji, opcjonalnie tylko te elementy, które spełniają funkcję predykatu. Aggregate … In … Into LongCount() Enumerable.LongCount

Queryable.LongCount
Max lub MaxBy Określa maksymalną wartość w kolekcji. Aggregate … In … Into Max() Enumerable.Max
Enumerable.MaxBy
Queryable.Max
Queryable.MaxBy
Min lub MinBy Określa minimalną wartość w kolekcji. Aggregate … In … Into Min() Enumerable.Min
Enumerable.MinBy
Queryable.Min
Queryable.MinBy
Sum Oblicza sumę wartości w kolekcji. Aggregate … In … Into Sum() Enumerable.Sum

Queryable.Sum

Przykłady składni wyrażeń zapytania

Średnia

W poniższym przykładzie kodu użyto Aggregate Into Average klauzuli w visual basic, aby obliczyć średnią temperaturę w tablicy liczb reprezentujących temperatury.


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

Count

Poniższy przykład kodu używa klauzuli Aggregate Into Count w Visual Basic, aby zliczyć liczbę wartości w tablicy, które są większe 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

Longcount

Poniższy przykład kodu używa klauzuli , Aggregate Into LongCount aby zliczyć liczbę 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

Maksimum

Poniższy przykład kodu używa klauzuli , Aggregate Into Max aby obliczyć maksymalną temperaturę w tablicy liczb reprezentujących temperatury.


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

Minimum

Poniższy przykład kodu używa klauzuli , Aggregate Into Min aby obliczyć minimalną temperaturę w tablicy liczb reprezentujących temperatury.


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

Poniższy przykład kodu używa klauzuli , Aggregate Into Sum aby obliczyć łączną kwotę wydatków z tablicy wartości reprezentujących 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ż