Partilhar via


SEQ.Filter <'T>. Função (F#)

Retorna uma nova coleção que contém apenas elementos da coleção para que o predicado determinado retorna true.

Namespace/Module Path: Microsoft.FSharp.Collections.Seq

Assembly: FSharp.Core (em FSharp.Core.dll)

// Signature:
Seq.filter : ('T -> bool) -> seq<'T> -> seq<'T>

// Usage:
Seq.filter predicate source

Parâmetros

  • predicate
    Tipo: 'T ->bool

    Uma função para testar se cada item na seqüência de entrada deve ser incluído na saída.

  • source
    Tipo: seq<'T>

    a seqüência de entrada.

Exceções

Exceção

Condição

ArgumentNullException

Acionada quando a seqüência de entrada seja nulo.

Valor de retorno

A seqüência de resultado.

Comentários

A seqüência retornado pode ser passada entre segmentos com segurança.Em o entanto, os valores individuais de IEnumerator gerados a seqüência retornado não devem ser acessados simultaneamente.A seqüência é avaliada lazy.Portanto, os efeitos são atrasados até ser enumerada.

Essa função é chamada Filter em assemblies compilados.Se você está acessando a função de um idioma diferente F#, ou com a reflexão, use este nome.

Exemplo

O código a seguir mostra o uso de Seq.filter filtrar uma seqüência infinita de números aleatórios para selecionar apenas mesmo números.

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

A saída de exemplo

  

Plataformas

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

Informações de Versão

Versões da biblioteca principal de F#

Suportado em: 2,0, 4,0, portáteis

Consulte também

Referência

Módulo de Collections.SEQ (F#)

Microsoft.FSharp.Collections Namespace (F#)