Partager via


Seq.choose<'T,'U>, fonction (F#)

Applique la fonction donnée à chaque élément de la liste et retourne la liste constituée des résultats pour chaque élément où la fonction retourne Some avec une valeur quelconque.

Espace de noms/Chemin du module : 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

Paramètres

  • chooser
    Type : 'T -> 'Uoption

    Fonction permettant de transformer des éléments de type T en options de type U.

  • source
    Type : seq<'T>

    Séquence d'entrée de type T.

Exceptions

Exception

Condition

ArgumentNullException

Levée lorsque la séquence d'entrée a la valeur Null.

Valeur de retour

Séquence de résultat.

Notes

La séquence retournée peut être passée entre les threads en toute sécurité.Toutefois, les valeurs IEnumerator individuelles générées à partir de la séquence retournée ne doivent pas être accessibles simultanément.

Cette fonction se nomme Choose dans les assemblys compilés.Si vous accédez à la fonction à partir d'un langage autre que F# ou par réflexion, utilisez ce nom.

Exemple

L'exemple de code suivant illustre l'utilisation de Seq.choose pour sélectionner des éléments d'une séquence en utilisant une expression lambda qui utilise des critères spéciaux pour retourner un type d'option.

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
  

Plateformes

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

Informations de version

Versions de bibliothèque principale F#

Prise en charge dans : 2,0, 4,0, portables

Voir aussi

Référence

Collections.Seq, module (F#)

Microsoft.FSharp.Collections, espace de noms (F#)