Freigeben über


Aggregationsvorgänge (Visual Basic)

Während eines Aggregationsvorgangs wird aus einer Auflistung von Werten ein einzelner Wert berechnet. Ein Beispiel für einen Aggregationsvorgang ist die Berechnung der durchschnittlichen Tagestemperatur aus den Tagestemperaturen eines Monats.

Die folgende Abbildung zeigt das Ergebnis von zwei verschiedenen Aggregationsvorgängen bei einer Zahlensequenz. Der erste Vorgang zählt die Zahlen zusammen. Der zweite Vorgang gibt den höchsten Wert der Sequenz zurück.

Illustration that shows LINQ aggregation operations.

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

Methoden

Methodenname Beschreibung Visual Basic-Abfrageausdruckssyntax Weitere Informationen
Aggregat Führt einen benutzerdefinierten Aggregationsvorgang für die Werte einer Auflistung durch. Nicht zutreffend. Enumerable.Aggregate

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

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

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

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

Queryable.Sum

Beispiele für die Abfrageausdruckssyntax

Average

Im folgenden Codebeispiel wird die Aggregate Into Average -Klausel in Visual Basic verwendet, um die durchschnittstemperatur 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

Sum

Im folgenden Codebeispiel wird die Aggregate Into Sum -Klausel verwendet, um den Gesamtkostenbetrag 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