Condividi tramite


Funzione Seq.filter<'T> (F#)

Restituisce una nuova raccolta contenente i soli elementi della raccolta per cui il predicato specificato restituisce true.

Percorso spazio dei nomi/modulo: Microsoft.FSharp.Collections.Seq

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

// Signature:
Seq.filter : ('T -> bool) -> seq<'T> -> seq<'T>

// Usage:
Seq.filter predicate source

Parametri

  • predicate
    Tipo: 'T ->bool

    Funzione su cui eseguire il test se ogni elemento nella sequenza di input deve essere incluso nell'output.

  • source
    Tipo: seq<'T>

    Sequenza di input.

Eccezioni

Eccezione

Condizione

ArgumentNullException

Generata se la sequenza di input è Null.

Valore restituito

Sequenza risultante.

Note

La sequenza restituita può essere passata in modo sicuro tra thread.L'accesso ai singoli valori IEnumerator generati dalla sequenza restituita non deve essere tuttavia eseguito in modo simultaneo.La sequenza viene valutata in modo differito.Di conseguenza, gli effetti sono ritardati finché la sequenza non viene enumerata.

Questa funzione è denominata Filter negli assembly compilati.Utilizzare questo nome se si accede alla funzione da un linguaggio diverso da F# o tramite reflection.

Esempio

Nel codice riportato di seguito viene illustrato l'utilizzo di Seq.filter per filtrare una sequenza infinita di numeri casuali per selezionare solo i numeri pari.

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

Esempio di output

  

Piattaforme

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

Informazioni sulla versione

Versioni della libreria di base F#

Supportato in: 2,0, 4,0, portabile

Vedere anche

Riferimenti

Modulo Collections.Seq (F#)

Spazio dei nomi Microsoft.FSharp.Collections (F#)