Partilhar via


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

Aplica uma função de geração de chave a cada elemento de uma sequência e retorna chaves únicas de produção de sequência e seu número de ocorrências na sequência original.

Namespace/Caminho do Módulo: Microsoft.FSharp.Collections.Seq

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

// Signature: Seq.countBy : ('T -> 'Key) -> seq<'T> -> seq<'Key * int> (requires equality)  // Usage: Seq.countBy projection source

Parâmetros

  • projection
    Tipo: 'T -> 'Key

    Uma função de transformação de cada elemento da sequência de entrada em uma chave a ser comparada com outras.

  • source
    Tipo: seq<'T>

    A sequência de entrada.

Exceções

Exceção

Condição

ArgumentNullException

Lançada quando a sequência de entrada é nula.

Valor de retorno

Uma sequência de chaves únicas e seu número de ocorrências na sequência original.

Comentários

Observe que esta função retorna uma sequência que atravessa toda a sequência inicial, assim que essa sequência é repetida. Como resultado, essa função não deve ser usada com sequências grandes ou infinitas. A função não faz nenhuma suposição sobre a ordem da sequência original.

Essa função é nomeada CountBy nos assemblies compilados. Se você estiver acessando a função a partir de uma linguagem diferente de F#, ou por meio de reflexão, use esse nome.

Exemplo

O exemplo seguinte demonstra o uso de Seq.countBy para determinar o número de elementos par ou ímpar em uma sequência.

let mySeq1 = seq { 1.. 100 }
let printSeq seq1 = Seq.iter (printf "%A ") seq1; printfn "" 
let seqResult = Seq.countBy (fun elem ->
    if (elem % 2 = 0) then 0 else 1) mySeq1

printSeq seqResult
  

Plataformas

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

Informações de versão

Versões da biblioteca principal F#

Suporte em: 2.0, 4.0, Portable

Consulte também

Referência

Módulo Collections.Seq (F#)

Namespace Microsoft.FSharp.Collections (F#)