Escrito el 08/05/2024
Tutorial LINQ: Aggregate
Permite realizar una operación sobre cada elemento y obtener un valor resultante (de cualquier tipo). Recibe una función de 2 parámetros: accumulator que tiene el resultado temporal de la operación y el segundo el current que es el elemento actual en la iteración.
En este caso, calcula la suma de todos los valores de la colección.
var numbers = [1,2,3,4,5];
var sum = numbers.Aggreate((acc, el) => sum + el); // 15
Nota 1: el resultado de la función parámetro se asignará en la variable
accumulatorpara el siguiente elemento.
Nota 2: tiene un parámetro para definir el valor inicial del
accumulator
En este caso, devuelve la palabra más larga de un string
var text = "un texto con palabras que pueden ser largas o cortas";
var longestWord = text.Split(" ")
.Aggregate(
// valor inicial
"",
// función para calcular la palabra más larga
(longestWordSoFar, word) => word.Length > longestWordSoFar.Length ? word : longestWordSoFar
);
.
Nota 3: es la función equivalente al
reducede javascript