Seq.distinctBy<'T,'Key> – funkce (F#)
Vrátí pořadí žádné duplicitní položky podle obecného porovnání hash a rovnosti vrácené funkcí daného klíče pro generování klíčů.Pokud prvek dochází opakovaně v pořadí vyšší počet výskytů ignorovány.
Cesta k oboru názvů nebo modul: Microsoft.FSharp.Collections.Seq
Sestavení: FSharp.Core (v FSharp.Core.dll)
// Signature:
Seq.distinctBy : ('T -> 'Key) -> seq<'T> -> seq<'T> (requires equality)
// Usage:
Seq.distinctBy projection source
Parametry
projection
Typ:'T -> 'KeyFunkce převádějící posloupnost položek do srovnatelné klíčů.
source
Typ: SEQ.<'T>Vstupní sekvence.
Výjimky
Výjimka |
Podmínka |
---|---|
Vyvolána při vstupní posloupnost je null. |
Vrácená hodnota
Řada výsledků.
Poznámky
Tato funkce se nazývá DistinctBy v kompilovaný sestavení.Pokud přistupujete k funkci jazyka než F# nebo prostřednictvím reflexe, tento název použijte.
Příklad
Následující příklad znázorňuje použití Seq.distinctBy zachovat pouze prvky v pořadí, které mají odlišné absolutní hodnota.První prvek s výsledkem dané zachována v nové sekvence tak v pořadí od -5 do + 10 jsou vynechány kladných čísel od 1 do 5.
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
Platformy
Windows 8, Windows 7, Windows Server 2012 Windows Server 2008 R2
Informace o verzi
F# základní verze knihovny
Podporovány: 2.0, 4.0, přenosné