LINQ Aggregate : les tenants et les aboutissants en un mot
Souvent négligée, la fonction Aggregate de LINQ est un outil puissant qui mérite un meilleur éclairage . Explorons son essence de manière claire et concise.
Aggregate effectue des opérations séquentielles sur chaque élément d'une liste, où chaque opération considère les résultats des opérations précédentes. En d'autres termes, il commence par opérer sur le premier et le deuxième éléments, puis poursuit le résultat.
Exemple 1 : Additionner des nombres
Considérons un tableau de nombres : [1, 2, 3, 4].
var nums = new[] { 1, 2, 3, 4 }; var sum = nums.Aggregate((a, b) => a + b); Console.WriteLine(sum); // Output: 10
Aggregate calculera la somme : (1 2) 3 4 = 10. Il ajoute les éléments suivants au total cumulé, ce qui donne la somme finale.
Exemple 2 : Concaténation de chaînes
Ensuite, créons une chaîne séparée par des virgules à partir de un tableau de caractères :
var chars = new[] { "a", "b", "c", "d" }; var csv = chars.Aggregate((a, b) => a + ',' + b); Console.WriteLine(csv); // Output: a,b,c,d
Dans ce cas, Aggregate combine chaque caractère avec une virgule, ce qui donne dans la chaîne concaténée.
Exemple 3 : Multiplier des nombres avec une valeur de départ
Aggregate propose également une surcharge qui accepte une valeur de départ :
var multipliers = new[] { 10, 20, 30, 40 }; var multiplied = multipliers.Aggregate(5, (a, b) => a * b); Console.WriteLine(multiplied); // Output: 1200000
En commençant par la valeur de départ de 5, Aggregate multiplie chaque élément du tableau avec lui, ce qui donne le produit cumulé : ((5 10) 20) 30 40 = 1200000.
En résumé, Aggregate vous permet d'effectuer des opérations séquentielles sur des éléments d'une liste, où chaque opération s'appuie sur la précédente résultats. C'est une fonction polyvalente qui peut être utilisée pour résoudre divers problèmes de manipulation de données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!