Funzione Seq.countBy<'T,'Key> (F#)
Applica una funzione di generazione chiavi a ogni elemento di una sequenza e restituisce una sequenza che produce chiavi univoche e il relativo numero di occorrenze nella sequenza originale.
Percorso spazio dei nomi/modulo: 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
Parametri
projection
Tipo: 'T -> 'KeyFunzione che trasforma ogni elemento di sequenza di input in una chiave da confrontare con le altre.
source
Tipo: seq<'T>Sequenza di input.
Eccezioni
Eccezione |
Condizione |
---|---|
Generata quando la sequenza di input è Null. |
Valore restituito
Sequenza di chiavi univoche e del relativo numero di occorrenze nella sequenza originale.
Note
Questa funzione restituisce una sequenza che attraversa il digest dell'intera sequenza iniziale nel momento in cui viene iterata. Di conseguenza questa funzione non deve essere utilizzata con sequenze di grandi dimensioni o infinite. La funzione non presume alcun ordine della sequenza originale.
Questa funzione è denominata CountBy negli assembly compilati. Utilizzare questo nome se si accede alla funzione da un linguaggio diverso da F# o tramite reflection.
Esempio
Nell'esempio seguente viene dimostrato l'uso di Seq.countBy per determinare il numero di elementi pari o dispari in una sequenza.
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
Piattaforme
Windows 7, Windows Vista SP2, Windows XP SP3, Windows XP x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2.
Informazioni sulla versione
F# Runtime
Supportato in: 2.0, 4.0
Silverlight
Supportato in: 3