Freigeben über


Aggregationsvorgänge (Visual Basic)

Ein Aggregationsvorgang berechnet einen einzelnen Wert aus einer Sammlung von Werten. Ein Beispiel für einen Aggregationsvorgang ist die Berechnung der durchschnittlichen Tagestemperatur aus dem Wert der täglichen Temperatur eines Monats.

Die folgende Abbildung zeigt die Ergebnisse von zwei verschiedenen Aggregationsvorgängen in einer Sequenz von Zahlen. Der erste Vorgang summiert die Zahlen. Der zweite Vorgang gibt den Maximalwert in der Sequenz zurück.

Abbildung, die LINQ-Aggregationsvorgänge zeigt.

Die Standardabfrageoperatormethoden, die Aggregationsvorgänge ausführen, sind im folgenden Abschnitt aufgeführt.

Methodik

Methodenname BESCHREIBUNG Syntax des Visual Basic-Abfrageausdrucks Mehr Informationen
Aggregieren Führt einen benutzerdefinierten Aggregationsvorgang für die Werte einer Auflistung aus. Nicht zutreffend. Enumerable.Aggregate

Queryable.Aggregate
Durchschnitt Berechnet den Mittelwert einer Auflistung von Werten. Aggregate … In … Into Average() Enumerable.Average

Queryable.Average
Anzahl Zählt die Elemente in einer Auflistung, optional nur die Elemente, die eine Prädikatfunktion erfüllen. Aggregate … In … Into Count() Enumerable.Count

Queryable.Count
LongCount Zählt die Elemente in einer großen Auflistung, optional nur die Elemente, die eine Prädikatfunktion erfüllen. Aggregate … In … Into LongCount() Enumerable.LongCount

Queryable.LongCount
Max oder MaxBy Bestimmt den Maximalwert in einer Auflistung. Aggregate … In … Into Max() Enumerable.Max
Enumerable.MaxBy
Queryable.Max
Queryable.MaxBy
Min oder MinBy Bestimmt den Minimalwert in einer Auflistung. Aggregate … In … Into Min() Enumerable.Min
Enumerable.MinBy
Queryable.Min
Queryable.MinBy
Summe Berechnet die Summe der Werte in einer Auflistung. Aggregate … In … Into Sum() Enumerable.Sum

Queryable.Sum

Beispiele für die Abfrageausdruckssyntax

Durchschnitt

Im folgenden Codebeispiel wird die Aggregate Into Average Klausel in Visual Basic verwendet, um die Durchschnittliche Temperatur in einem Array von Zahlen zu berechnen, die Temperaturen darstellen.


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

Anzahl

Im folgenden Codebeispiel wird die Aggregate Into Count Klausel in Visual Basic verwendet, um die Anzahl der Werte in einem Array zu zählen, die größer oder gleich 80 sind.


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

Im folgenden Codebeispiel wird die Aggregate Into LongCount Klausel verwendet, um die Anzahl der Werte in einem Array zu zählen.


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.

Im folgenden Codebeispiel wird die Aggregate Into Max Klausel verwendet, um die maximale Temperatur in einem Array von Zahlen zu berechnen, die Temperaturen darstellen.


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

Im folgenden Codebeispiel wird die Aggregate Into Min Klausel verwendet, um die Mindesttemperatur in einem Array von Zahlen zu berechnen, die Temperaturen darstellen.


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

Summe

Im folgenden Codebeispiel wird die Aggregate Into Sum Klausel verwendet, um den Gesamtaufwandsbetrag aus einem Array von Werten zu berechnen, die Ausgaben darstellen.


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

Siehe auch