Aracılığıyla paylaş


Seq.compareWith<'T> İşlevi (F#)

Verilen karşılaştırma işlevini kullanarak iki diziyi eleman eleman karşılaştırır.

Ad alanı/modül yol: Microsoft.FSharp.Collections.Seq

Derleme: FSharp.Core (FSharp.Core.dll),

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

// Usage:
Seq.compareWith comparer source1 source2

Parametreler

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

    Her diziden bir öğe alıp, int döndüren işlev. Sıfır olmayan yineleme değerlendirilirse durdurulur ve o değer döndürülür.

  • source1
    Türü: seq<'T>

    İlk giriş dizisi.

  • source2
    Türü: seq<'T>

    İkinci giriş dizisi.

Özel Durumlar

Özel Durum

Koşul

ArgumentNullException

Giriş dizilerinden herhangi biri boş olduğu zaman oluşturulur.

Dönüş Değeri

Karşılaştırma işlevinden sıfır olmayan ilk sonucu döner. Dizinin sonuna ulaşıldığında eğer birinci dizi daha kısa ise -1, ikinci dizi daha kısa ise 1 döner.

Notlar

Bu işlev adlı CompareWith kodları derlenmiş derlemeleri. İşlev .net Dili dışındaki F# veya yansıtma üzerinden erişiyorsanız, bu adı kullanın.

Örnek

Aşağıdaki örnek kullanımını göstermektedir Seq.compareWith özel karşılaştırma işlevini kullanarak iki dizileri karşılaştırmak için.

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

Platformlar

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

Sürüm Bilgisi

F# Çekirdek Kitaplığı sürümleri

Desteklenen: 2.0, 4.0, Portable

Ayrıca bkz.

Başvuru

Collections.Seq Modülü (F#)

Microsoft.FSharp.Collections İsim Uzayı (F#)