Compartilhar via


Seq.groupBy < T','Key > Função (F#)

Aplica-se a uma função de geração de chave a cada elemento de uma seqüência e gera uma seqüência de teclas exclusivas e uma seqüência de todos os elementos que possuem cada chave.

Caminho do namespace/módulo: Microsoft.FSharp.Collections.seq

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

// Signature:
Seq.groupBy : ('T -> 'Key) -> seq<'T> -> seq<'Key * seq<'T>> (requires equality)

// Usage:
Seq.groupBy projection source

Parâmetros

  • projection
    Tipo: 'T -> 'Key

    Uma função que transforma a um elemento da seqüência em uma chave comparável.

  • source
    Tipo: SEQ<'T>

    A seqüência de entrada.

Valor de retorno

Uma seqüência de tuplas, onde cada tupla contém a chave exclusiva e uma seqüência de todos os elementos que corresponde à chave.

Comentários

Esta função retorna uma seqüência que atravessa a seqüência inicial de inteiros como essa seqüência é iterada. Como resultado dessa função não deve ser usada com seqüências de grandes ou infinitas. A função não faz nenhuma suposição sobre a ordenação da seqüência original.

Esta função é chamada de GroupBy em módulos (assemblies) compilados. Se você estiver acessando a função de um idioma diferente, por exemplo, F# ou através de reflexão, use esse nome.

Exemplo

O exemplo a seguir demonstra o uso de Seq.groupBy para agrupar a ímpar e par de números em uma seqüência em duas seqüências separadas.

let sequence = seq { 1 .. 100 }
let printSeq seq1 = Seq.iter (printf "%A ") seq1; printfn ""
let sequences3 = Seq.groupBy (fun index ->
    if (index % 2 = 0) then 0 else 1) sequence
sequences3 |> printSeq
  

Plataformas

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

Informações sobre versão

O tempo de execução F#

Compatível com: 2.0, 4.0

Silverlight

Compatível com: 3

Consulte também

Referência

Módulo de Collections.SEQ (F#)

Microsoft.FSharp.Collections Namespace (F#)