Aggregationsoperationen
Eine Aggregationsoperation berechnet einen einzelnen Wert aus einer Auflistung von Werten. Eine Aggregationsoperation wäre zum Beispiel die Berechnung der täglichen Durchschnittstemperatur eines Monats anhand der täglichen Temperaturwerte.
Die folgende Abbildung zeigt die Ergebnisse zweier verschiedener Aggregationsoperationen für eine Sequenz von Zahlen. Die erste Operation zählt die Zahlen zusammen. Die zweite Operation gibt den Höchstwert in der Sequenz zurück.
Die Standardabfrageoperator-Methoden, die Aggregationsoperationen ausführen, werden im folgenden Abschnitt aufgelistet.
Methoden
Methodenname |
Beschreibung |
C#-Abfrageausdruckssyntax |
Visual Basic-Abfrageausdruckssyntax |
Weitere Informationen |
---|---|---|---|---|
Aggregate |
Führt eine benutzerdefinierte Aggregationsoperation für die Werte einer Auflistung aus. |
Nicht zutreffend. |
Nicht zutreffend. |
|
Average |
Berechnet den Durchschnittswert einer Auflistung von Werten. |
Nicht zutreffend. |
Aggregate … In … Into Average() |
|
Count |
Zählt die Elemente in einer Auflistung, optional nur die Elemente, die einer Prädikatfunktion entsprechen. |
Nicht zutreffend. |
Aggregate … In … Into Count() |
|
LongCount |
Zählt die Elemente in einer großen Auflistung, optional nur die Elemente, die einer Prädikatfunktion entsprechen. |
Nicht zutreffend. |
Aggregate … In … Into LongCount() |
|
Max |
Bestimmt den Höchstwert in einer Auflistung. |
Nicht zutreffend. |
Aggregate … In … Into Max() |
|
Min |
Bestimmt den niedrigsten Wert in einer Auflistung. |
Nicht zutreffend. |
Aggregate … In … Into Min() |
|
Sum |
Berechnet die Summe der Werte in einer Auflistung. |
Nicht zutreffend. |
Aggregate … In … Into Sum() |
Beispiele für die Abfrageausdruckssyntax
Average
Im folgenden Codebeispiel wird die Aggregate Into Average-Klausel in Visual Basic verwendet, um in einem Array von Zahlen, die Temperaturen darstellen, die Durchschnittstemperatur zu berechnen.
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
Im folgenden Codebeispiel wird die Aggregate Into Count-Klausel in Visual Basic verwendet, um in einem Array die Anzahl von Werten, die größer als oder gleich 80 sind, zu zählen.
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 in Visual Basic verwendet, um die Anzahl von Werten 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 in Visual Basic verwendet, um in einem Array von Zahlen, die Temperaturen darstellen, die Höchsttemperatur zu berechnen.
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 in Visual Basic verwendet, um in einem Array von Zahlen, die Temperaturen darstellen, die niedrigste Temperatur zu berechnen.
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 in Visual Basic verwendet, um aus einem Array von Werten, die Ausgaben darstellen, die Gesamtausgaben zu berechnen.
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
Aufgaben
Gewusst wie: Berechnen von Spaltenwerten in einer CSV-Textdatei (LINQ)
Gewusst wie: Abfragen der größten Datei oder der größten Dateien in einer Verzeichnisstruktur (LINQ)
Gewusst wie: Abfragen der Gesamtzahl an Bytes in einem Ordnersatz (LINQ)
Referenz
Aggregate-Klausel (Visual Basic)