Compartir a través de


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

Devuelve una secuencia que no contiene ninguna entrada duplicada según las comparaciones genéricas de hash e igualdad en las claves devueltas por la función de generación de claves especificada.Si un elemento aparece varias veces en la secuencia, se descartan las apariciones posteriores.

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

Ensamblado: FSharp.Core (en FSharp.Core.dll)

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

// Usage:
Seq.distinctBy projection source

Parámetros

  • projection
    Tipo: 'T -> 'Key

    Función que transforma los elementos de la secuencia en claves comparables.

  • source
    Tipo: seq<'T>

    Secuencia de entrada.

Excepciones

Excepción

Condition

ArgumentNullException

Se produce cuando la secuencia de entrada es NULL.

Valor devuelto

Secuencia resultante.

Comentarios

Esta función se denomina DistinctBy 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

El ejemplo siguiente muestra el uso de Seq.distinctBy para mantener solamente los elementos de una secuencia con un valor absoluto distinto.El primer elemento con un resultado dado se conserva en la nueva secuencia, por lo que los números positivos del 1 al 5 se colocan en la secuencia de -5 a +10.

let inputSequence = { -5 .. 10 }
let printSeq seq1 = Seq.iter (printf "%A ") seq1; printfn ""
printfn "Original sequence: "
printSeq inputSequence
printfn "\nSequence with distinct absolute values: "
let seqDistinctAbsoluteValue = Seq.distinctBy (fun elem -> abs elem) inputSequence
seqDistinctAbsoluteValue |> printSeq
  

Plataformas

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

Información de versiones

Versiones de la biblioteca básica de F#

Se admite en: 2.0, 4.0, portables

Vea también

Referencia

Collections.Seq (Módulo de F#)

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