Aracılığıyla paylaş


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 ->bool

    Giriş 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

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. 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

Ayrıca bkz.

Başvuru

Collections.Seq Modülü (F#)

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