Seq.countBy<'T,'Key>-Funktion (F#)
Wendet eine schlüsselgenerierende Funktion auf jedes Element einer Sequenz an und gibt eine Sequenz zurück, die eindeutige Schlüssel und deren Anzahl von 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 einer Eingabesequenz in einen Schlüssel umwandelt, der mit den anderen verglichen wird.
source
Typ: seq<'T>Die Eingabesequenz.
Ausnahmen
Ausnahme |
Bedingung |
---|---|
Die Auslösung erfolgt, wenn die Eingabesequenz NULL ist. |
Rückgabewert
Eine Sequenz von eindeutigen Schlüsseln und ihrer Anzahl von Vorkommen in der ursprünglichen Sequenz.
Hinweise
Beachten Sie, dass diese Funktion eine Sequenz zurückgibt, die die gesamte ursprüngliche Sequenz durchläuft, sobald diese Sequenz eine Iteration durchläuft. Daher sollte diese Funktion nicht mit großen oder unendlichen Sequenzen verwendet werden. Die Funktion trifft keine Annahmen zur Reihenfolge der ursprünglichen Sequenz.
Der Name dieser Funktion in kompilierten Assemblys lautet CountBy. Verwenden Sie diesen Namen, wenn Sie in einer anderen Sprache als F# oder durch Reflektion auf die Funktion zugreifen.
Beispiel
Im folgenden Beispiel wird die Verwendung von Seq.countBy veranschaulicht, um die Anzahl von Elementen in einer Sequenz zu ermitteln, die ungerade oder 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 8, Windows 7, Windows Server 2012, Windows Server 2008 R2
Versionsinformationen
F#-Kernbibliotheksversionen
Unterstützt in: 2.0, 4.0, Portable