LINQ Aggregate: Die Vor- und Nachteile auf den Punkt gebracht
Die Aggregate-Funktion in LINQ wird oft übersehen und ist ein leistungsstarkes Werkzeug, das eine bessere Beleuchtung verdient . Lassen Sie uns das Wesentliche auf klare und prägnante Weise untersuchen.
Aggregate führt sequentielle Operationen für jedes Element einer Liste durch, wobei jede Operation die Ergebnisse vorhergehender Operationen berücksichtigt. Mit anderen Worten: Es beginnt mit der Bearbeitung des ersten und zweiten Elements und führt dann das Ergebnis weiter.
Beispiel 1: Summieren von Zahlen
Betrachten Sie eine Reihe von Zahlen: [1, 2, 3, 4].
var nums = new[] { 1, 2, 3, 4 }; var sum = nums.Aggregate((a, b) => a + b); Console.WriteLine(sum); // Output: 10
Aggregat berechnet die Summe: (1 2) 3 4 = 10. Es werden weitere Elemente zur laufenden Summe hinzugefügt, was die Endsumme ergibt.
Beispiel 2: Zeichenfolgen verketten
Als nächstes erstellen wir eine durch Kommas getrennte Zeichenfolge aus ein Array von Zeichen:
var chars = new[] { "a", "b", "c", "d" }; var csv = chars.Aggregate((a, b) => a + ',' + b); Console.WriteLine(csv); // Output: a,b,c,d
In diesem Fall kombiniert Aggregate jedes Zeichen mit einem Komma, Daraus ergibt sich die verkettete Zeichenfolge.
Beispiel 3: Zahlen mit einem Startwert multiplizieren
Aggregate bietet auch eine Überladung, die einen Startwert akzeptiert:
var multipliers = new[] { 10, 20, 30, 40 }; var multiplied = multipliers.Aggregate(5, (a, b) => a * b); Console.WriteLine(multiplied); // Output: 1200000
Beginnend mit dem Startwert 5 multipliziert Aggregate jedes Element des Arrays damit, was zum kumulativen Produkt führt: ((5 10) 20) 30 40 = 1200000.
Zusammenfassend lässt sich sagen, dass Sie mit Aggregate sequentielle Operationen an Elementen in einer Liste ausführen können, wobei jede Operation auf der vorherigen aufbaut Ergebnisse. Es handelt sich um eine vielseitige Funktion, die zur Lösung verschiedener Datenmanipulationsprobleme genutzt werden kann.
Das obige ist der detaillierte Inhalt vonWie funktioniert die Aggregatfunktion von LINQ?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!