Seq.average<^T> 函数 (F#)

更新:2010 年 8 月

返回序列中元素的平均值。

命名空间/模块路径: Microsoft.FSharp.Collections.Seq

程序集:FSharp.Core(在 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

参数

  • source
    类型:seq<^T>

    输入序列。

异常

异常

Condition

ArgumentException

在输入序列包含零个元素时引发。

ArgumentNullException

在输入序列为 null 时引发。

返回值

结果序列。

备注

使用与元素类型关联的 + 运算符、DivideByInt 方法和 Zero 属性求元素的平均值。

此函数不能直接用于整数序列,因为它要求类型支持精确的除法运算,这将由元素类型必须支持 DivideByInt 的限制指示。

此函数在编译的程序集中名为 Average。 如果从 F# 以外的语言中访问函数,或通过反射访问成员,请使用此名称。

示例

以下代码示例演示如何使用 Seq.average,并比较 Seq.averageSeq.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

Output

  

平台

Windows 7、Windows Vista SP2、Windows XP SP3、Windows XP x64 SP2、Windows Server 2008 R2、Windows Server 2008 SP2、Windows Server 2003 SP2

版本信息

F# 运行时

受以下版本支持:2.0、4.0

Silverlight

受以下版本支持:3

请参见

参考

Collections.Seq 模块 (F#)

Microsoft.FSharp.Collections 命名空间 (F#)

修订记录

Date

修订记录

原因

2010 年 8 月

添加了代码示例。

信息补充。