Partager via


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

Retourne une nouvelle collection contenant uniquement les éléments de la collection pour lesquels le prédicat donné retourne la valeur true.

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

Paramètres

  • predicate
    Type : 'T -> bool

    Fonction permettant de tester si chaque élément de la séquence d'entrée doit être inclus dans la sortie.

  • source
    Type : seq<'T>

    Séquence d'entrée.

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. La séquence est évaluée paresseusement. Par conséquent, les effets sont différés jusqu'à ce qu'elle soit énumérée.

Cette fonction se nomme Filter 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

Le code suivant montre l'utilisation de Seq.filter pour filtrer une séquence infinie de nombres aléatoires pour sélectionner uniquement les chiffres pairs.

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

Résultat de l'exemple

  

Plateformes

Windows 7, Windows Vista SP2, Windows XP SP3, Windows XP x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2

Informations de version

Runtime F#

Pris en charge dans : 2.0, 4.0

Silverlight

Prise en charge dans : 3

Voir aussi

Référence

Collections.Seq, module (F#)

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

Historique des modifications

Date

Historique

Motif

Août 2010

Ajout d'un exemple de code

Améliorations apportées aux informations.