Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 -> intFunció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 |
|---|---|
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 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