LINQ Aggregate Demystified: Eine Schritt-für-Schritt-Anleitung
Die Aggregate-Funktion von LINQ kann oft für Verwirrung sorgen. In diesem Artikel werden wir uns mit dem Innenleben von Aggregate befassen und anhand von Beispielen aus der Praxis klare und prägnante Erklärungen liefern.
Aggregate verstehen
Aggregate ist eine Operation, die iteriert über eine Folge von Elementen und wendet eine bestimmte Funktion (Lambda-Ausdruck) auf jedes Element und das zuvor akkumulierte Ergebnis an. Es führt im Wesentlichen aufeinanderfolgende Operationen an den Elementen durch und trägt die Zwischenergebnisse weiter.
Beispiel 1: Summieren von Zahlen
Beginnen wir mit einem einfachen Beispiel für das Summieren einer Liste von Zahlen :
var nums = new[] { 1, 2, 3, 4 }; var sum = nums.Aggregate((a, b) => a + b); Console.WriteLine(sum); // Output: 10
In diesem Beispiel initialisiert die Aggregate-Funktion ein Ergebnis mit dem ersten Element (1). Anschließend wendet es den Lambda-Ausdruck (a b) auf das aktuelle Ergebnis (1) und das nächste Element (2) an, was zu 3 führt. Dieser Prozess wird fortgesetzt und jedes Element zum vorherigen Ergebnis hinzugefügt.
Beispiel 2: Erstellen einer CSV aus Strings
Aggregate können auch zur String-Manipulation verwendet werden. So können Sie eine durch Kommas getrennte Zeichenfolge aus einem Array von Zeichen erstellen:
var chars = new[] { "a", "b", "c", "d" }; var csv = chars.Aggregate((a, b) => a + "," + b); Console.WriteLine(csv); // Output: a,b,c,d
Beispiel 3: Zahlen mit einem Startwert multiplizieren
Aggregate unterstützt eine Überladung, die benötigt einen anfänglichen Startwert, um die Berechnungen zu starten. Betrachten Sie das folgende Beispiel:
var multipliers = new[] { 10, 20, 30, 40 }; var multiplied = multipliers.Aggregate(5, (a, b) => a * b); Console.WriteLine(multiplied); // Output: 1200000
In diesem Fall beginnt die Aggregatoperation mit dem Startwert (5) und wendet den Multiplikations-Lambda-Ausdruck (a * b) an. Jedes Element der Sequenz wird mit dem vorherigen Ergebnis multipliziert und fortgeschrieben, wodurch das Endergebnis 1200000 entsteht.
Das obige ist der detaillierte Inhalt vonWie funktioniert die Aggregatfunktion von LINQ: Eine Schritt-für-Schritt-Erklärung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!