Aracılığıyla paylaş


Seq.distinctBy<'T,'Key> İşlevi (F#)

Verilen anahtar oluşturma işlevi tarafından döndürülen anahtarlar üzerinde genel karma ve eşitlik karşılaştırmalarına göre yinelenen girdi içermeyen bir dizi döner.Eğer bir öğe dizide birden fazla oluşursa sonraki oluşumlar çıkarılır.

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

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

// Signature:
Seq.distinctBy : ('T -> 'Key) -> seq<'T> -> seq<'T> (requires equality)

// Usage:
Seq.distinctBy projection source

Parametreler

  • projection
    Türü:'T -> 'Key

    Sequence öğeler karşılaştırılabilir anahtarlarına dönüştüren bir işlevdir.

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

    Giriş dizisi.

Özel Durumlar

Özel Durum

Koşul

ArgumentNullException

Giriş dizisi null olduğunda oluşturulur.

Dönüş Değeri

Sonuç dizisi.

Notlar

Bu işlev adlı DistinctBy kodları derlenmiş derlemeleri.İşlev yansıtma veya F# dışındaki bir dilde erişiyorsanız, bu adı kullanın.

Örnek

Aşağıdaki örnek, ayrı bir mutlak değeri olan bir dizideki öğeleri tutmak için Seq.distinctBy kullanımını gösterir.Pozitif sayılar 1-5 -5 için + 10 sıradaki bırakılan böylece belirli bir sonucu olan ilk öğe yeni sırada tutulur.

let inputSequence = { -5 .. 10 }
let printSeq seq1 = Seq.iter (printf "%A ") seq1; printfn ""
printfn "Original sequence: "
printSeq inputSequence
printfn "\nSequence with distinct absolute values: "
let seqDistinctAbsoluteValue = Seq.distinctBy (fun elem -> abs elem) inputSequence
seqDistinctAbsoluteValue |> printSeq
  

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