Sdílet prostřednictvím


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 -> 'Key

    Funkce převádějící posloupnost položek do srovnatelné klíčů.

  • source
    Typ: SEQ.<'T>

    Vstupní sekvence.

Výjimky

Výjimka

Podmínka

ArgumentNullException

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é

Viz také

Referenční dokumentace

Collections.Seq – modul (F#)

Microsoft.FSharp.Collections – obor názvů (F#)