Udostępnij za pomocą


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.

Ilustracja przedstawiająca operacje agregacji LINQ.

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
Zbiorczy 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
Liczba 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
Suma 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

Liczba

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

Maks

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

Minuta

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

Suma

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 także