Seq.countBy<'T,'Key>-Funktion (F#)
Wendet eine Funktion zur Generierung von Schlüsseln auf die einzelnen Elemente einer Sequenz an und gibt eine Sequenz zurück, die eindeutige Schlüssel sowie die Anzahl der Vorkommen in der ursprünglichen Sequenz ergibt.
Namespace/Modulpfad: Microsoft.FSharp.Collections.Seq
Assembly: FSharp.Core (in FSharp.Core.dll)
// Signature:
Seq.countBy : ('T -> 'Key) -> seq<'T> -> seq<'Key * int> (requires equality)
// Usage:
Seq.countBy projection source
Parameter
projection
Typ: 'T -> 'KeyEine Funktion, die jedes Element der Eingabesequenz in einen Schlüssel transformiert, der mit den anderen Schlüsseln verglichen werden soll.
source
Typ: seq<'T>Die Eingabesequenz.
Ausnahmen
Ausnahme |
Bedingung |
---|---|
Wird ausgelöst, wenn die Eingabesequenz NULL ist. |
Rückgabewert
Eine Sequenz von eindeutigen Schlüsseln und ihre Anzahl von Vorkommen in der ursprünglichen Sequenz.
Hinweise
Beachten Sie, dass diese Funktion eine Sequenz zurückgibt, die die gesamte anfängliche Sequenz traversiert, sobald die anfängliche Sequenz durchlaufen wird. Daher darf diese Funktion bei großen oder unendlichen Sequenzen nicht verwendet werden. Die Funktion setzt keine bestimmte Sortierung der ursprünglichen Sequenz voraus.
Der Name dieser Funktion in kompilierten Assemblys lautet CountBy. 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.countBy zum Ermitteln der Anzahl der Elemente in einer Sequenz, die ungerade und gerade sind.
let mySeq1 = seq { 1.. 100 }
let printSeq seq1 = Seq.iter (printf "%A ") seq1; printfn ""
let seqResult = Seq.countBy (fun elem ->
if (elem % 2 = 0) then 0 else 1) mySeq1
printSeq seqResult
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