Freigeben über


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

Generiert eine neue Sequenz, die beim Durchlaufen aufeinander folgende Elemente bis zur angegebenen Anzahl zurückgibt, indem die angegebene Funktion aufgerufen wird.

Namespace/Modulpfad: Microsoft.FSharp.Collections.Seq

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

// Signature:
Seq.init : int -> (int -> 'T) -> seq<'T>

// Usage:
Seq.init count initializer

Parameter

  • count
    Typ: int

    Die maximale Anzahl der Elemente, die für die Sequenz generiert werden sollen.

  • initializer
    Typ: int -> 'T

    Eine Funktion, die ein Element in der Sequenz aus einem angegebenen Index generiert.

Ausnahmen

Ausnahme

Bedingung

ArgumentException

Wird ausgelöst, wenn die Anzahl negativ ist.

Rückgabewert

Die Ergebnissequenz.

Hinweise

Jedes Element wird nach seiner Initialisierung gespeichert.An die Funktion wird der Index des generierten Elements übergeben.

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

Threadsicherheit

Die zurückgegebene Sequenz kann zwischen Threads sicher übergeben werden.Auf einzelne IEnumerator-Werte, die aus der zurückgegebenen Sequenz generiert werden, sollte nicht gleichzeitig zugegriffen werden.

Beispiel

Das folgende Beispiel veranschaulicht die Verwendung von Seq.init zum Erstellen einer Sequenz der ersten fünf Vielfachen von 10.

let seqFirst5MultiplesOf10 = Seq.init 5 (fun n -> n * 10)
Seq.iter (fun elem -> printf "%d " elem) seqFirst5MultiplesOf10
  

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