Partilhar via


SEQ.Choose < m','U > Função (F#)

Aplica a função fornecida para cada elemento da lista e composta retorna a lista de resultados para cada elemento onde a função retorna Some com qualquer valor.

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

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

// Signature:
Seq.choose : ('T -> 'U option) -> seq<'T> -> seq<'U>

// Usage:
Seq.choose chooser source

Parâmetros

  • chooser
    Tipo: 'T -> 'Uopção

    Uma função para transformar itens de tipo em T opções de tipo EUA.

  • source
    Tipo: seq<'T>

    A seqüência de entrada do tipo T.

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.

Essa função é chamada Choose 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 exemplo de código a seguir demonstra o uso de Seq.choose selecionar os elementos de uma seqüência usando uma expressão lambda que usa a correspondência de padrão para retornar um tipo de opção.

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
  

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#)