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 -> 'KeySequence öğ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 |
---|---|
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