Compartir a través de


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

Compara dos secuencias elemento por elemento mediante la función de comparación especificada.

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

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

// Signature:
Seq.compareWith : ('T -> 'T -> int) -> seq<'T> -> seq<'T> -> int

// Usage:
Seq.compareWith comparer source1 source2

Parámetros

  • comparer
    Tipo: 'T -> 'T -> int

    Función que toma un elemento de cada secuencia y devuelve un valor de tipo int. Si se evalúa como un valor distinto de cero, se detiene la iteración y se devuelve dicho valor.

  • source1
    Tipo: seq<'T>

    Primera secuencia de entrada.

  • source2
    Tipo: seq<'T>

    Segunda secuencia de entrada.

Excepciones

Excepción

Condition

ArgumentNullException

Se produce cuando cualquiera de las secuencias de entrada es NULL.

Valor devuelto

Devuelve el primer resultado distinto de cero de la función de comparación. Cuando se alcanza el final de una secuencia, se devuelve -1 si la primera secuencia es más corta; se devuelve 1, si la segunda secuencia es más corta.

Comentarios

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

Ejemplo

El ejemplo siguiente muestra el uso de Seq.compareWith para comparar dos secuencias utilizando una función de comparación personalizada.

let sequence1 = seq { 1 .. 10 }
let sequence2 = seq { 10 .. -1 .. 1 }

// Compare two sequences element by element. 
let compareSequences = Seq.compareWith (fun elem1 elem2 ->
    if elem1 > elem2 then 1
    elif elem1 < elem2 then -1
    else 0) 

let compareResult1 = compareSequences sequence1 sequence2
match compareResult1 with
| 1 -> printfn "Sequence1 is greater than sequence2."
| -1 -> printfn "Sequence1 is less than sequence2."
| 0 -> printfn "Sequence1 is equal to sequence2."
| _ -> failwith("Invalid comparison result.")
  

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#)