Seq.distinctBy<'T,'Key> — Funkcja (F#)
Zwraca sekwencja nie zduplikowane pozycje według rodzajowy mieszania i równości porównań kluczy, zwracany przez funkcję danej generowania klucza.Jeśli element występuje wiele razy w sekwencji później wystąpień są odrzucane.
Ścieżka obszaru nazw/modułu: Microsoft.FSharp.Collections.Seq
Zgromadzenie: FSharp.Core (w FSharp.Core.dll)
// Signature:
Seq.distinctBy : ('T -> 'Key) -> seq<'T> -> seq<'T> (requires equality)
// Usage:
Seq.distinctBy projection source
Parametry
projection
Typ:'T -> 'KeyFunkcję transformuje elementy sekwencji klawiszy porównywalne.
source
Typ: seq<'T>Sekwencji wejściowych.
Wyjątki
Wyjątek |
Warunek |
---|---|
Zgłoszony podczas sekwencji wejściowych jest null. |
Wartość zwracana
Sekwencja wynik.
Uwagi
Ta funkcja o nazwie DistinctBy w skompilowane zestawy.Jeżeli języka, niż F# lub przez odbicie, uzyskują dostęp do funkcji, należy użyć tej nazwy.
Przykład
Poniższy przykład demonstruje użycie Seq.distinctBy, aby zachować tylko elementy mają różne wartości bezwzględnej sekwencji.Pierwszy element z danym wyników jest zachowywana w nowej sekwencji tak dodatnią od 1 do 5 są usuwane w kolejności od -5 do + 10.
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
Informacje o wersji
F# Core wersji biblioteki
Obsługiwane: 2.0, 4.0, przenośne