Freigeben über


Seq.take<'T>-Funktion (F#)

Gibt die Elemente der Sequenz bis zu einer angegebenen Zahl zurück.

Namespace/Modulpfad: Microsoft.FSharp.Collections.Seq

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

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

// Usage:
Seq.take count source

Parameter

  • count
    Typ: int

    Die Anzahl zu verwendender Elemente.

  • source
    Typ: seq<'T>

    Die Eingabesequenz.

Ausnahmen

Ausnahme

Bedingung

ArgumentException

Wird ausgelöst, wenn die Eingabesequenz leer ist.

ArgumentNullException

Wird ausgelöst, wenn die Eingabesequenz NULL ist.

InvalidOperationException

Wird ausgelöst, wenn die Anzahl die Anzahl der Elemente in der Sequenz überschreitet.

Rückgabewert

Die Ergebnissequenz.

Hinweise

Seq.truncate gibt so viele Elemente zurück, wie die Sequenz enthält, statt eine Ausnahme auszulösen.

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

Beispiel

Das folgende Beispiel wird die Verwendung von Seq.take gezeigt und das Verhalten Seq.truncate gegenübergestellt.

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
  

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#)