Seq.distinct<'T> (Función de F#)

Devuelve una secuencia que no contiene ninguna entrada duplicada según las comparaciones genéricas de hash y de igualdad en las entradas. 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.distinct : seq<'T> -> seq<'T> (requires equality)

// Usage:
Seq.distinct source

Parámetros

  • 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 Distinct 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 siguiente ejemplo muestra el uso de Seq.distinct. El ejemplo genera la representación binaria de un número como secuencia. A continuación, determina que los números únicos son solamente 0 y 1.

let binary n =
    let rec generateBinary n =
        if (n / 2 = 0) then [n]
        else (n % 2) :: generateBinary (n / 2)
    generateBinary n |> List.rev |> Seq.ofList

printfn "%A" (binary 1024)

let resultSequence = Seq.distinct (binary 1024)
printfn "%A" resultSequence
  

Plataformas

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

Información de versiones

Runtime de F#

Se admite en las versiones: 2.0, 4.0

Silverlight

Se admite en la versión: 3

Vea también

Referencia

Collections.Seq (Módulo de F#)

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