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 -> 'UoptionT 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 |
---|---|
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