856 votes

LINQ Agrégat algorithme expliqué

Cela peut sembler nul, mais je n'ai pas pu trouver une bonne explication de Aggregate.

Bonne signifie courte, descriptive, complète avec un petit exemple clair.

1voto

user2983359 Points 177

Tout le monde a donné son explication. Ma explication est comme ça.

La méthode Aggregate applique une fonction à chaque élément d'une collection. Par exemple, prenons la collection { 6, 2, 8, 3 } et la fonction Add (opérateur +) elle fait (((6+2)+8)+3) et retourne 19

var numbers = new List { 6, 2, 8, 3 };
int sum = numbers.Aggregate(func: (result, item) => result + item);
// sum: (((6+2)+8)+3) = 19

Dans cet exemple, une méthode nommée Add est passée au lieu d'une expression lambda.

var numbers = new List { 6, 2, 8, 3 };
int sum = numbers.Aggregate(func: Add);
// sum: (((6+2)+8)+3) = 19

private static int Add(int x, int y) { return x + y; }

0voto

Ciro Corvino Points 1232

Une définition courte et essentielle pourrait être la suivante : la méthode d'extension Linq Aggregate permet de déclarer une sorte de fonction récursive appliquée aux éléments d'une liste, dont les opérandes sont deux : les éléments dans l'ordre dans lequel ils sont présents dans la liste, un élément à la fois, et le résultat de l'itération récursive précédente ou rien s'il n'y a pas encore eu de récursion.

De cette manière, vous pouvez calculer la factorielle des nombres, ou concaténer des chaînes de caractères.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X