Seq.take<'T> 函数 (F#)

返回多达指定计数的序列元素。

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

程序集:FSharp.Core(在 FSharp.Core.dll 中)

// Signature:
Seq.take : int -> seq<'T> -> seq<'T>

// Usage:
Seq.take count source

参数

  • count
    类型:int

    要采用的项的数目。

  • source
    类型:seq<'T>

    输入序列。

异常

异常

Condition

ArgumentException

在输入序列为空时引发。

ArgumentNullException

在输入序列为 null 时引发。

InvalidOperationException

计数超过序列的元素数时引发。

返回值

结果序列。

备注

Seq.truncate 将无一例外地返回序列中所包的全部条目。

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

示例

下面的代码示例演示 Seq.take 的用户,并将其行为与 Seq.truncate 进行比较。

let mySeq = seq { for i in 1 .. 10 -> i*i }
let truncatedSeq = Seq.truncate 5 mySeq
let takenSeq = Seq.take 5 mySeq

let truncatedSeq2 = Seq.truncate 20 mySeq
let takenSeq2 = Seq.take 20 mySeq

let printSeq seq1 = Seq.iter (printf "%A ") seq1; printfn ""

// Up to this point, the sequences are not evaluated.
// The following code causes the sequences to be evaluated.
truncatedSeq |> printSeq
truncatedSeq2 |> printSeq
takenSeq |> printSeq
// The following line produces a run-time error (in printSeq):
takenSeq2 |> printSeq
  

平台

Windows 8,Windows 7,Windows server 2012中,Windows server 2008 R2

版本信息

F#核心库版本

支持:2.0,4.0,可移植

请参见

参考

Collections.Seq 模块 (F#)

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