Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

Enumerable.Aggregate<TSource, TAccumulate> méthode (IEnumerable<TSource>, TAccumulate, Func<TAccumulate, TSource, TAccumulate>)

 

Date de publication : novembre 2016

Applique une fonction d’accumulation sur une séquence. La valeur initiale spécifiée est utilisée comme valeur d'accumulation initiale.

Espace de noms:   System.Linq
Assembly:  System.Core (dans System.Core.dll)

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

Paramètres

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

Un IEnumerable<T> pour l’agrégat.

seed
Type: TAccumulate

Valeur d'accumulation initiale.

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

Fonction d'accumulation à appeler sur chaque élément.

Valeur de retour

Type: TAccumulate

Valeur d'accumulation finale.

Paramètres de type

TSource

Le type des éléments de source.

TAccumulate

Type de la valeur d'accumulation.

Exception Condition
ArgumentNullException

source ou func a la valeur null.

Le Aggregate<TSource, TAccumulate>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate, TSource, TAccumulate>) méthode facile effectuer un calcul sur une séquence de valeurs. Cette méthode fonctionne en appelant func une fois pour chaque élément dans source. Chaque fois que func est appelée, Aggregate<TSource, TAccumulate>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate, TSource, TAccumulate>) passe l’élément à partir de la séquence et une valeur agrégée (en tant que premier argument de func). La valeur de le seed paramètre est utilisé comme valeur d’agrégation initiale. Le résultat de func remplace la valeur agrégée précédente. Aggregate<TSource, TAccumulate>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate, TSource, TAccumulate>) Retourne le résultat final de func.

Pour simplifier les opérations d’agrégation courantes, les opérateurs de requête standard incluent également une méthode count à usage général, Count<TSource>, et quatre méthodes d’agrégation numériques, à savoir Min, Max, Sum, et Average.

L’exemple de code suivant montre comment utiliser Aggregate<TSource, TAccumulate> pour appliquer une fonction d’accumulation et utiliser une valeur de départ.

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 

Plateforme Windows universelle
Disponible depuis 8
.NET Framework
Disponible depuis 3.5
Bibliothèque de classes portable
Pris en charge dans : plateformes .NET portables
Silverlight
Disponible depuis 2.0
Silverlight pour Windows Phone
Disponible depuis 7.0
Windows Phone
Disponible depuis 8.1
Retour au début
Afficher: