Seq.averageBy<'T,^U> 函数 (F#)
更新:2010 年 8 月
返回通过将函数应用于序列的每个元素而生成的结果的平均值。
命名空间/模块路径: Microsoft.FSharp.Collections.Seq
程序集:FSharp.Core(在 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
参数
projection
类型:'T -> ^U一个用来转换序列的每个元素的函数。
source
类型:seq<'T>输入序列。
异常
异常 |
Condition |
---|---|
在输入序列包含零个元素时引发。 |
|
在输入序列为 null 时引发。 |
返回值
对序列元素使用 projection 函数的平均值。
备注
使用与生成的类型关联的 + 运算符、DivideByInt 方法和 Zero 属性求元素的平均值。
此函数在编译的程序集中名为 AverageBy。 如果从 F# 以外的语言中访问函数,或通过反射访问成员,请使用此名称。
示例
以下代码示例演示如何使用 Seq.averageBy,并比较 Seq.average 和 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
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
请参见
参考
Microsoft.FSharp.Collections 命名空间 (F#)
修订记录
Date |
修订记录 |
原因 |
---|---|---|
2010 年 8 月 |
添加了代码示例。 |
信息补充。 |