Funzione Seq.choose<'T,'U> (F#)
Consente di applicare la funzione fornita a ogni elemento dell'elenco e restituisce l'elenco con i risultati per ogni elemento in cui la funzione restituisce Some con un valore.
Percorso spazio dei nomi/modulo: Microsoft.FSharp.Collections.Seq
Assembly: FSharp.Core (in FSharp.Core.dll)
// Signature:
Seq.choose : ('T -> 'U option) -> seq<'T> -> seq<'U>
// Usage:
Seq.choose chooser source
Parametri
chooser
Tipo: 'T -> 'UoptionFunzione per trasformare elementi di tipo T in opzioni di tipo U.
source
Tipo: seq<'T>Sequenza di input del tipo T.
Eccezioni
Eccezione |
Condizione |
---|---|
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.
Questa funzione è denominata Choose negli assembly compilati.Utilizzare questo nome se si accede alla funzione da un linguaggio diverso da F# o tramite reflection.
Esempio
Nell'esempio di codice riportato di seguito viene illustrato l'utilizzo di Seq.choose per selezionare elementi da una sequenza utilizzando un'espressione lambda che utilizza i modelli di ricerca per restituire un tipo di opzione.
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
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