Seq.distinct<'T>-Funktion (F#)
Gibt eine Sequenz zurück, die nach generischen Hash- und Gleichheitsvergleichen für die Einträge keine doppelten Einträge enthält. Wenn ein Element mehrere Male in der Sequenz auftritt, werden alle nachfolgenden Vorkommen verworfen.
Namespace/Modulpfad: Microsoft.FSharp.Collections.Seq
Assembly: FSharp.Core (in FSharp.Core.dll)
// Signature:
Seq.distinct : seq<'T> -> seq<'T> (requires equality)
// Usage:
Seq.distinct source
Parameter
source
Typ: seq<'T>Die Eingabesequenz.
Ausnahmen
Ausnahme |
Bedingung |
---|---|
Wird ausgelöst, wenn die Eingabesequenz NULL ist. |
Rückgabewert
Die Ergebnissequenz.
Hinweise
Der Name dieser Funktion in kompilierten Assemblys lautet Distinct. Verwenden Sie diesen Namen, wenn Sie in einer anderen .NET-Sprache als F# oder durch Reflektion auf die Funktion zugreifen.
Beispiel
Das folgende Beispiel veranschaulicht die Verwendung von Seq.distinct. Im Beispiel wird die binäre Darstellung einer Zahl als Sequenz generiert. Sie bestimmt anschließend, dass die einzigen eindeutigen Zahlen 0 und 1 sind.
let binary n =
let rec generateBinary n =
if (n / 2 = 0) then [n]
else (n % 2) :: generateBinary (n / 2)
generateBinary n |> List.rev |> Seq.ofList
printfn "%A" (binary 1024)
let resultSequence = Seq.distinct (binary 1024)
printfn "%A" resultSequence
Plattformen
Windows 7, Windows Vista SP2, Windows XP SP3, Windows XP x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2
Versionsinformationen
F#-Runtime
Unterstützt in: 2.0, 4.0
Silverlight
Unterstützt in: 3