Freigeben über


Seq.collect<'T,'Collection,'U>-Funktion (F#)

Wendet die angegebene Funktion auf die einzelnen Elemente der Sequenz an und verkettet alle Ergebnisse.

Namespace/Modulpfad: Microsoft.FSharp.Collections.Seq

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

// Signature:
Seq.collect : ('T -> 'Collection) -> seq<'T> -> seq<'U> (requires 'Collection :> seq<'U>)

// Usage:
Seq.collect mapping source

Parameter

  • mapping
    Typ: 'T -> 'Collection

    Eine Funktion zum Transformieren von Elementen der Eingabesequenz in die Sequenzen, die verkettet werden.

  • source
    Typ: seq<'T>

    Die Eingabesequenz.

Ausnahmen

Ausnahme

Bedingung

ArgumentNullException

Wird ausgelöst, wenn die Eingabesequenz NULL ist.

Rückgabewert

Die Ergebnissequenz.

Hinweise

Die Sequenz wird verzögert ausgewertet.Deshalb werden Effekte bis zur Aufzählung verzögert.

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

Beispiel

Das folgende Codebeispiel veranschaulicht die Verwendung von Seq.collect.

let addNegations seq1 =
   Seq.collect (fun x -> seq { yield x; yield -x }) seq1
   |> Seq.sort
addNegations [ 1 .. 4 ] |> Seq.iter (fun elem -> printf "%d " elem)
printfn ""
addNegations [| 0; -4; 2; -12 |] |> Seq.iter (fun elem -> printf "%d " elem)

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