Udostępnij za pośrednictwem


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

Zwraca średnią wyników wygenerowany przez zastosowanie funkcji do każdego elementu sekwencji.

Ścieżka obszaru nazw/modułu: Microsoft.FSharp.Collections.Seq

Zestaw: FSharp.Core (w 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

Parametry

  • projection
    Typ:'T -> ^U

    Funkcja stosowana do każdego elementu sekwencję transformacji.

  • source
    Typ: seq<'T>

    Sekwencji wejściowych.

Wyjątki

Wyjątek

Warunek

ArgumentException

Zgłoszony podczas sekwencji wejściowych ma zerowy elementów.

ArgumentNullException

Zgłoszony podczas sekwencji wejściowych jest null.

Wartość zwracana

Średnią z wyników stosowania projection funkcji sekwencja elementów.

Uwagi

Elementy są uśredniane za pomocą + operator, DivideByInt metody i Zero właściwości skojarzone z typem wygenerowane.

Ta funkcja o nazwie AverageBy w skompilowane zestawy.Jeżeli języka, niż F# lub przez odbicie, uzyskują dostęp do funkcji, należy użyć tej nazwy.

Przykład

Poniższy przykład kodu pokazuje, jak używać Seq.averageBy, także porównanie Seq.average i 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

Dane wyjściowe

  

Platformy

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

Informacje o wersji

F# Core wersji biblioteki

Obsługiwane: 2.0, 4.0, przenośne

Zobacz też

Informacje

Collections.Seq — Moduł (F#)

Microsoft.FSharp.Collections — Przestrzeń nazw (F#)