Partager via


Seq.averageBy<'T,^U>, fonction (F#)

Retourne la moyenne des résultats générés en appliquant la fonction à chaque élément de la séquence.

Espace de noms/Chemin du module : Microsoft.FSharp.Collections.Seq

Assembly : FSharp.Core (in FSharp.Core.dll)

// Signature:
Seq.averageBy : ('T -> ^U) -> seq<'T> -> ^U (requires ^U with static member (+) and ^U with static member DivideByInt and ^U with static member Zero)

// Usage:
Seq.averageBy projection source

Paramètres

  • projection
    Type : 'T -> ^U

    Fonction appliquée pour transformer chaque élément de la séquence.

  • source
    Type : seq<'T>

    Séquence d'entrée.

Exceptions

Exception

Condition

ArgumentException

Levée lorsque la séquence d'entrée n'a aucun élément.

ArgumentNullException

Levée lorsque la séquence d'entrée a la valeur Null.

Valeur de retour

La moyenne des résultats de l'application de la fonction projection aux éléments de séquence.

Notes

La moyenne des éléments est calculée à l'aide de l'opérateur +, de la méthode DivideByInt et de la propriété Zero associée au type généré.

Cette fonction se nomme AverageBy dans les assemblys compilés. Si vous accédez à la fonction à partir d'un langage autre que F# ou par réflexion, utilisez ce nom.

Exemple

L'exemple de code suivant montre comment utiliser Seq.averageBy et compare également Seq.average et Seq.averageBy.

// You can use Seq.average to average elements of a list, array, or sequence. 
let average1 = Seq.average [ 1.0 .. 10.0 ]
printfn "Average: %f" average1
// To average a sequence of integers, use Seq.averageBy to convert to float. 
let average2 = Seq.averageBy (fun elem -> float elem) (seq { 1 .. 10 })
printfn "Average: %f" average2

Sortie

  

Plateformes

Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2

Informations de version

Versions de bibliothèque principale F#

Prise en charge dans : 2,0, 4,0, portables

Voir aussi

Référence

Collections.Seq, module (F#)

Microsoft.FSharp.Collections, espace de noms (F#)