Windows Dev Center

Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source
Informations
Le sujet que vous avez demandé est indiqué ci-dessous. Toutefois, ce sujet ne figure pas dans la bibliothèque.

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

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 de type

TSource

Type des éléments de source.

TAccumulate

Type de la valeur d'accumulation.

Paramètres

source
Type : System.Collections.Generic.IEnumerable<TSource>
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.

Remarque sur l'utilisation

En Visual Basic et C#, vous pouvez appeler cette méthode comme une méthode d'instance sur n'importe quel objet de type IEnumerable<TSource>. Lorsque vous utilisez la syntaxe des méthodes d'instance pour appeler cette méthode, omettez le premier paramètre. Pour plus d'informations, consultez Méthodes d'extension (Visual Basic) ou Méthodes d'extension (Guide de programmation C#).

ExceptionCondition
ArgumentNullException

source ou func est null.

La méthode Aggregate<TSource, TAccumulate>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate, TSource, TAccumulate>) simplifie l'exécution d'un calcul sur une séquence de valeurs. Cette méthode appelle func une fois pour chaque élément contenu dans source. À chaque appel de func, Aggregate<TSource, TAccumulate>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate, TSource, TAccumulate>) passe l'élément à partir de la séquence ainsi qu'une valeur agrégée (en tant que premier argument pour func). La valeur du paramètre seed est utilisée 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.

Afin de 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 et quatre méthodes d'agrégation numériques, à savoir Min, Max, Sum et Average.

L'exemple de code suivant montre comment utiliser Aggregate pour appliquer une fonction d'accumulation et utiliser une valeur initiale.


            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 



.NET Framework

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Bibliothèque de classes portable

Pris en charge dans : Bibliothèque de classes portable

.NET pour les applications du Windows Store

Pris en charge dans : Windows 8

.NET pour les applications Windows Phone

Pris en charge dans : Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Ajouts de la communauté

Afficher:
© 2015 Microsoft