Seq.compareWith<'T> — Funkcja (F#)

Porównuje dwie sekwencje przy użyciu funkcji danego porównania elementów.

Ścieżka obszaru nazw/modułu: Microsoft.FSharp.Collections.Seq

Zgromadzenie: FSharp.Core (w FSharp.Core.dll)

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

// Usage:
Seq.compareWith comparer source1 source2

Parametry

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

    Funkcję, która pobiera element z każdej sekwencji i zwraca int.Jeśli daje wynik iteracji niezerową wartość jest zatrzymana i ta wartość jest zwracana.

  • source1
    Typ: seq<'T>

    Pierwszy sekwencji wejściowych.

  • source2
    Typ: seq<'T>

    Drugi sekwencji wejściowych.

Wyjątki

Wyjątek

Warunek

ArgumentNullException

Generowane, gdy albo sekwencji wejściowych jest null.

Wartość zwracana

Zwraca wynik pierwszy zera z funkcji porównania.Gdy osiągnięty zostanie koniec sekwencji, to zwraca -1, jeśli pierwszym sekwencji jest krótszy i 1 Jeśli drugi sekwencji jest krótszy.

Uwagi

Ta funkcja o nazwie CompareWith w skompilowane zestawy.Jeśli funkcja dostęp z języka .net niż F# lub przez odbicie, należy użyć tej nazwy.

Przykład

Poniższy przykład ilustruje użycie Seq.compareWith do porównywania dwóch sekwencji przy użyciu funkcji porównania niestandardowej.

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.")
  

Platformy

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

Informacje o wersji

F# Core wersji biblioteki

Obsługiwane: 2.0, 4.0, przenośne

Zobacz też

Informacje

Collections.Seq — Moduł (F#)

Microsoft.FSharp.Collections — Przestrzeń nazw (F#)