Freigeben über


Seq.average<^T>-Funktion (F#)

Gibt den Durchschnitt der Elemente in der Sequenz zurück.

Namespace/Modulpfad: Microsoft.FSharp.Collections.Seq

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

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

// Usage:
Seq.average source

Parameter

  • source
    Typ: seq<^T>

    Die Eingabesequenz.

Ausnahmen

Ausnahme

Bedingung

ArgumentException

Wird ausgelöst, wenn die Eingabesequenz 0 (null) Elemente aufweist.

ArgumentNullException

Wird ausgelöst, wenn die Eingabesequenz NULL ist.

Rückgabewert

Der Durchschnitt.

Hinweise

Der Durchschnitt der Elemente wird mit dem +-Operator, der DivideByInt-Methode und der Zero-Eigenschaft für den Elementtyp ermittelt.

Diese Funktion kann nicht direkt für eine Sequenz von ganzen Zahlen verwendet werden, da sie erfordert, dass die Typen den Vorgang einer exakten Division unterstützen. Dies wird durch die Einschränkung angegeben, dass der Elementtyp DivideByInt unterstützen muss.

Der Name dieser Funktion in kompilierten Assemblys lautet Average.Verwenden Sie diesen Namen, wenn Sie in einer anderen .NET-Sprache als F# oder durch Reflektion auf die Funktion zugreifen.

Beispiel

Im folgenden Codebeispiel wird die Verwendung von Seq.average veranschaulicht. Außerdem wird Seq.average mit Seq.averageBy verglichen.

// 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

Output

  

Plattformen

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

Versionsinformationen

F#-Kern-Bibliotheks-Versionen

Unterstützt in: 2,0, 4,0, portablen

Siehe auch

Referenz

Collections.Seq-Modul (F#)

Microsoft.FSharp.Collections-Namespace (F#)