Aracılığıyla paylaş


Seq.choose<'T,'U> İşlevi (F#)

Belirli bir işlev her liste öğesi için geçerlidir ve her öğe için sonuçları oluşan liste burada işlevi döndürür Some bazı değerine sahip.

Ad alanı/modül yol: Microsoft.FSharp.Collections.Seq

Derleme: FSharp.Core (FSharp.Core.dll),

// Signature:
Seq.choose : ('T -> 'U option) -> seq<'T> -> seq<'U>

// Usage:
Seq.choose chooser source

Parametreler

  • chooser
    Type: 'T -> 'Uoption

    T türü öğelerini U türüne dönüştüren işlev.

  • source
    Türü: seq<'T>

    T türünün giriş dizisi.

Özel Durumlar

Özel Durum

Koşul

ArgumentNullException

Giriş dizisi null olduğunda oluşturulur.

Dönüş Değeri

Sonuç dizisi.

Notlar

Döndürülen dizi iş parçacıkları arasında güvenle geçirilebilir. Bununla birlikte, tek tek IEnumerator döndürülen serisinden oluşturulan değerler değil erişilen aynı anda.

Bu işlev adlı Choose kodları derlenmiş derlemeleri. İşlev yansıtma veya F# dışındaki bir dilde erişiyorsanız, bu adı kullanın.

Örnek

Aşağıdaki kod örneği kullanımını gösterir Seq.choose seçenek türü dönmek için desen eşleştirme kullanan bir lambda ifade kullanarak bir serisinden öğeleri seçme.

let numbers = seq {1..20}
let evens = Seq.choose(fun x -> 
                            match x with
                            | x when x%2=0 -> Some(x)
                            | _ -> None ) numbers
printfn "numbers = %A\n" numbers
printfn "evens = %A" evens
  

Platformlar

Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2

Sürüm Bilgisi

F# Çekirdek Kitaplığı sürümleri

Desteklenen: 2.0, 4.0, Portable

Ayrıca bkz.

Başvuru

Collections.Seq Modülü (F#)

Microsoft.FSharp.Collections İsim Uzayı (F#)