Compartir a través de


Seq.countBy<'T,'Key> (Función de F#)

Aplica una función de generación de clave a cada elemento de una secuencia y devuelve una secuencia que proporciona claves únicas y su número de apariciones en la secuencia original.

Espacio de nombres/Ruta de acceso del módulo: Microsoft.FSharp.Collections.Seq

Ensamblado: FSharp.Core (en 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

    Una función que transforma cada elemento de la secuencia de entrada en una clave que se comparará con las demás.

  • source
    Tipo: seq<'T>

    Secuencia de entrada.

Excepciones

Excepción

Condición

ArgumentNullException

Se activa cuando la secuencia de entrada es Null.

Valor devuelto

Una secuencia de claves únicas y su número de apariciones en la secuencia original.

Comentarios

Observe que esta función devuelve una secuencia que atraviesa toda la secuencia inicial en cuanto esa secuencia se itera. Como resultado, esta función no se debe usar con secuencias grandes o infinitas. La función no realiza suposiciones sobre el orden de la secuencia original.

Esta función se denomina CountBy en los ensamblados compilados. Si obtiene acceso a la función desde un lenguaje distinto de F# o mediante reflexión, use este nombre.

Ejemplo

En el ejemplo siguiente se muestra cómo usar Seq.countBy para determinar el número de elementos en una secuencia que son impares o pares.

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

Información de versiones

Versiones de la biblioteca básica de F#

Admitido en: 2.0, 4.0, Portable

Vea también

Referencia

Collections.Seq (Módulo de F#)

Microsoft.FSharp.Collections (Espacio de nombres de F#)