Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método Enumerable.Aggregate<TSource, TAccumulate>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate, TSource, TAccumulate>)

 

Publicado: octubre de 2016

Aplica una función de acumulador a una secuencia. El valor de inicialización especificado se utiliza como valor de inicio del acumulador.

Espacio de nombres:   System.Linq
Ensamblado:  System.Core (en System.Core.dll)

public static TAccumulate Aggregate<TSource, TAccumulate>(
	this IEnumerable<TSource> source,
	TAccumulate seed,
	Func<TAccumulate, TSource, TAccumulate> func
)

Parámetros

source
Type: System.Collections.Generic.IEnumerable<TSource>

Un IEnumerable<T> para agregar.

seed
Type: TAccumulate

Valor de inicio del acumulador.

func
Type: System.Func<TAccumulate, TSource, TAccumulate>

Función de acumulador que se va a invocar en cada elemento.

Valor devuelto

Type: TAccumulate

Valor final del acumulador.

Parámetros de tipo

TSource

Tipo de los elementos de source.

TAccumulate

Tipo del valor del acumulador.

Exception Condition
ArgumentNullException

El valor de source o func es null.

El Aggregate<TSource, TAccumulate>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate, TSource, TAccumulate>) método simplifica la realizan un cálculo sobre una secuencia de valores. Este método funciona llamando a func una vez para cada elemento de source. Cada vez que func se llama, Aggregate<TSource, TAccumulate>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate, TSource, TAccumulate>) pasa el elemento de la secuencia y un valor agregado (como primer argumento para func). El valor de la seed parámetro se utiliza como valor agregado inicial. El resultado de func reemplaza el valor agregado anterior. Aggregate<TSource, TAccumulate>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate, TSource, TAccumulate>) Devuelve el resultado final de func.

Para simplificar las operaciones comunes de agregación, los operadores de consulta estándar también incluyen un método de recuento de propósito general, Count<TSource>, y cuatro métodos de agregación numérica, es decir, Min, Max, Sum, y Average.

En el ejemplo de código siguiente se muestra cómo utilizar Aggregate<TSource, TAccumulate> para aplicar una función de acumulador y usar un valor de inicialización.

int[] ints = { 4, 8, 8, 3, 9, 0, 7, 8, 2 };

// Count the even numbers in the array, using a seed value of 0.
int numEven = ints.Aggregate(0, (total, next) =>
                                    next % 2 == 0 ? total + 1 : total);

Console.WriteLine("The number of even integers is: {0}", numEven);

// This code produces the following output:
//
// The number of even integers is: 6 

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 3.5
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Windows Phone
Disponible desde 8.1
Volver al principio
Mostrar: