Funzione Seq.compareWith<'T> (F#)
Confronta due sequenze utilizzando la funzione di confronto specificata, elemento per elemento.
Percorso spazio dei nomi/modulo: Microsoft.FSharp.Collections.Seq
Assembly: FSharp.Core (in FSharp.Core.dll)
// Signature:
Seq.compareWith : ('T -> 'T -> int) -> seq<'T> -> seq<'T> -> int
// Usage:
Seq.compareWith comparer source1 source2
Parametri
comparer
Tipo: 'T -> 'T -> intFunzione che utilizza un elemento da ogni sequenza e restituisce un Integer. Se restituisce un'iterazione con valore diverso da zero, viene arrestata e restituisce il valore specifico.
source1
Tipo: seq<'T>Prima sequenza di input.
source2
Tipo: seq<'T>Seconda sequenza di input.
Eccezioni
Eccezione |
Condizione |
---|---|
Generata se una delle sequenze di input è Null. |
Valore restituito
Restituisce il primo risultato diverso da zero dalla funzione di confronto. Se viene raggiunta la fine di una sequenza, viene restituito un valore -1 se la prima sequenza è più breve e un valore 1 se lo è la seconda sequenza.
Note
Questa funzione è denominata CompareWith negli assembly compilati. Utilizzare questo nome se si accede alla funzione da un linguaggio .NET diverso da F# o tramite reflection.
Esempio
Nell'esempio riportato di seguito viene illustrato l'utilizzo di Seq.compareWith per confrontare due sequenze utilizzando una funzione di confronto personalizzata.
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.")
Piattaforme
Windows 7, Windows Vista SP2, Windows XP SP3, Windows XP x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2.
Informazioni sulla versione
F# Runtime
Supportato in: 2.0, 4.0
Silverlight
Supportato in: 3