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.

LINQ-Aggregationsvorgänge

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.

Enumerable.Aggregate

Queryable.Aggregate

Average

Berechnet den Durchschnittswert einer Auflistung von Werten.

Nicht zutreffend.

Aggregate … In … Into Average()

Enumerable.Average

Queryable.Average

Count

Zählt die Elemente in einer Auflistung, optional nur die Elemente, die einer Prädikatfunktion entsprechen.

Nicht zutreffend.

Aggregate … In … Into Count()

Enumerable.Count

Queryable.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()

Enumerable.LongCount

Queryable.LongCount

Max

Bestimmt den Höchstwert in einer Auflistung.

Nicht zutreffend.

Aggregate … In … Into Max()

Enumerable.Max

Queryable.Max

Min

Bestimmt den niedrigsten Wert in einer Auflistung.

Nicht zutreffend.

Aggregate … In … Into Min()

Enumerable.Min

Queryable.Min

Sum

Berechnet die Summe der Werte in einer Auflistung.

Nicht zutreffend.

Aggregate … In … Into Sum()

Enumerable.Sum

Queryable.Sum

Beispiele von 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: Bestimmen von Zahlen, Summen oder Durchschnittswerten von Daten mithilfe von LINQ (Visual Basic)

Gewusst wie: Suchen des minimalen oder maximalen Werts in einem Abfrageergebnis mithilfe von LINQ (Visual Basic)

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)

System.Linq

Konzepte

Übersicht über Standardabfrageoperatoren