Seq.filter<'T> İşlevi (F#)
Yalnızca verilen karşılaştırma belirtiminin true döndürdüğü koleksiyon öğelerini içeren yeni bir koleksiyon döndürür.
Ad alanı/modül yolu: Microsoft.FSharp.Collections.Seq
Derleme: FSharp.Core (FSharp.Core.dll),
// Signature:
Seq.filter : ('T -> bool) -> seq<'T> -> seq<'T>
// Usage:
Seq.filter predicate source
Parametreler
predicate
Type: 'T ->boolGiriş dizisindeki her öğenin çıkışa dahil edilip edilmediğini test eden işlev.
source
Türü: seq<'T>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.Sıra lazily değerlendirilir.Bu nedenle, efektler numaralandırılan kadar ertelenir.
Bu işlev adlı Filter kodları derlenmiş derlemeleri.İşlev yansıtma veya F# dışındaki bir dilde erişiyorsanız, bu adı kullanın.
Örnek
Aşağıdaki kod kullanımını gösterir Seq.filter yalnızca çift numaralarını seçmek için rasgele sayılar sonsuz bir dizi filtre uygulamak için.
let random = new System.Random()
Seq.initInfinite (fun _ -> random.Next())
|> Seq.filter (fun x -> x % 2 = 0)
|> Seq.take 5
|> Seq.iter (fun elem -> printf "%d " elem)
printfn ""
Örnek Çıktı
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