Funzione Seq.filter<'T> (F#)
Restituisce un nuovo insieme contenente i soli elementi dell'insieme 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 -> boolFunzione 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 |
---|---|
Generata quando 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 ""
Output di esempio
Piattaforme
Windows 7, Windows Vista SP2, Windows XP SP3, Windows XP x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2.
Informazioni sulla versione
F# Runtime
Supportato in: 2.0, 4.0
Silverlight
Supportato in: 3
Vedere anche
Riferimenti
Spazio dei nomi Microsoft.FSharp.Collections (F#)
Cronologia delle modifiche
Data |
Cronologia |
Motivo |
---|---|---|
Agosto 2010 |
Aggiunto esempio di codice. |
Miglioramento delle informazioni. |