Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez aussi afficher la version anglaise dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte.
Traduction
Anglais
Cette documentation est archivée et n’est pas conservée.

Queryable.Average<TSource>, méthode (IQueryable<TSource>, Expression<Func<TSource, Nullable<Int64>>>)

Calcule la moyenne d'une séquence de valeurs Int64 Nullable obtenue en appelant une fonction de projection sur chaque élément de la séquence d'entrée.

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

public static Nullable<double> Average<TSource>(
	this IQueryable<TSource> source,
	Expression<Func<TSource, Nullable<long>>> selector
)

Paramètres de type

TSource

Type des éléments de source.

Paramètres

source
Type : System.Linq.IQueryable<TSource>
Séquence de valeurs dont la moyenne doit être calculée.
selector
Type : System.Linq.Expressions.Expression<Func<TSource, Nullable<Int64>>>
Fonction de projection à appliquer à chaque élément.

Valeur de retour

Type : System.Nullable<Double>
Moyenne de la séquence de valeurs ou null si la séquence source est vide ou ne contient que des valeurs null.

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 IQueryable<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 selector est null.

Cette méthode a au moins un paramètre de type Expression<TDelegate> dont l'argument de type est l'un des types Func<T, TResult>. Pour ces paramètres, vous pouvez les passer dans une expression lambda et elle sera compilée en une Expression<TDelegate>.

La méthode Average<TSource>(IQueryable<TSource>, Expression<Func<TSource, Nullable<Int64>>>) génère une MethodCallExpression qui représente l'appel de Average<TSource>(IQueryable<TSource>, Expression<Func<TSource, Nullable<Int64>>>) à lui-même en tant que méthode générique construite. Il passe alors la MethodCallExpression à la méthode Execute<TResult>(Expression) du IQueryProvider représenté par la propriété Provider du paramètre source.

Le comportement de requête résultant de l'exécution d'une arborescence de l'expression qui représente l'appel de Average<TSource>(IQueryable<TSource>, Expression<Func<TSource, Nullable<Int64>>>) dépend de l'implémentation du type du paramètre source. Le comportement attendu est qu'il calcule la moyenne des valeurs de source après avoir appelé selector sur chaque valeur.

L'exemple de code suivant montre comment utiliser Average<TSource>(IQueryable<TSource>, Expression<Func<TSource, Int32>>) pour calculer la longueur String moyenne dans une séquence de valeurs de type String.

RemarqueRemarque

Cet exemple de code utilise une surcharge de cette méthode surchargée qui est différente de la surcharge spécifique décrite par cette rubrique. Pour étendre l'exemple à cette rubrique, modifiez le corps de la fonction sélecteur.


            string[] fruits = { "apple", "banana", "mango", "orange", "passionfruit", "grape" };

            // Determine the average string length in the array.
            double average = fruits.AsQueryable().Average(s => s.Length);

            Console.WriteLine("The average string length is {0}.", average);

            // This code produces the following output:
            //
            // The average string length is 6.5. 



.NET Framework

Pris en charge dans : 4, 3.5

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Pris en charge dans :

Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2

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.
Afficher: