Dela via


Sammansättningsåtgärder (Visual Basic)

En aggregeringsåtgärd beräknar ett enda värde från en samling värden. Ett exempel på en aggregeringsåtgärd är att beräkna den genomsnittliga dagliga temperaturen från en månads värden för den dagliga temperaturen.

Följande bild visar resultatet av två olika aggregeringsåtgärder på en sekvens med tal. Den första åtgärden summerar talen. Den andra åtgärden returnerar det maximala värdet i sekvensen.

Illustration that shows LINQ aggregation operations.

Standardmetoderna för frågeoperatorer som utför aggregeringsåtgärder visas i följande avsnitt.

Metoder

Metodnamn beskrivning Syntax för Visual Basic-frågeuttryck Mer information
Aggregera Utför en anpassad aggregeringsåtgärd på värdena för en samling. Ej tillämpbart. Enumerable.Aggregate

Queryable.Aggregate
Genomsnitt Beräknar det genomsnittliga värdet för en samling värden. Aggregate … In … Into Average() Enumerable.Average

Queryable.Average
Antal Räknar elementen i en samling, eventuellt endast de element som uppfyller en predikatfunktion. Aggregate … In … Into Count() Enumerable.Count

Queryable.Count
LongCount Räknar elementen i en stor samling, eventuellt endast de element som uppfyller en predikatfunktion. Aggregate … In … Into LongCount() Enumerable.LongCount

Queryable.LongCount
Max eller MaxBy Avgör det maximala värdet i en samling. Aggregate … In … Into Max() Enumerable.Max
Enumerable.MaxBy
Queryable.Max
Queryable.MaxBy
Min eller MinBy Avgör det lägsta värdet i en samling. Aggregate … In … Into Min() Enumerable.Min
Enumerable.MinBy
Queryable.Min
Queryable.MinBy
Sum Beräknar summan av värdena i en samling. Aggregate … In … Into Sum() Enumerable.Sum

Queryable.Sum

Exempel på frågeuttryckssyntax

Genomsnitt

I följande kodexempel används Aggregate Into Average -satsen i Visual Basic för att beräkna medeltemperaturen i en matris med tal som representerar temperaturer.


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

Antal

I följande kodexempel används Aggregate Into Count -satsen i Visual Basic för att räkna antalet värden i en matris som är större än eller lika med 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

I följande kodexempel används Aggregate Into LongCount -satsen för att räkna antalet värden i en matris.


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

I följande kodexempel används Aggregate Into Max -satsen för att beräkna den maximala temperaturen i en matris med tal som representerar temperaturer.


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

I följande kodexempel används Aggregate Into Min -satsen för att beräkna minimitemperaturen i en matris med tal som representerar temperaturer.


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

I följande kodexempel används Aggregate Into Sum -satsen för att beräkna det totala utgiftsbeloppet från en matris med värden som representerar utgifter.


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

Se även