Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese
Questa documentazione è stata archiviata e non viene gestita.

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

chooser

Tipo: 'T -> 'Uoption

Funzione per trasformare elementi di tipo T in opzioni di tipo U.

source

Tipo: seq<'T>

Sequenza di input del tipo T.

Exception

Condizione

ArgumentNullException

Generata se la sequenza di input è Null.

Sequenza risultante.

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.

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


            
              numeri = seguente [1; 2; 3; 4; …] corrisponde a = seguente [2; 4; 6; 8; …]
            
          

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

Versioni della libreria di base F#

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

Mostra: