Seq.distinctBy<'T,'Key>, fonction (F#)
Retourne une séquence qui ne contient aucune entrée en double conformément aux comparaisons de hachage et d'égalité génériques sur les clés retournées par la fonction génératrice de clé donnée. Si un élément apparaît plusieurs fois dans la séquence, les occurrences ultérieures sont ignorées.
Espace de noms/Chemin du module : Microsoft.FSharp.Collections.Seq
Assembly : FSharp.Core (in FSharp.Core.dll)
// Signature:
Seq.distinctBy : ('T -> 'Key) -> seq<'T> -> seq<'T> (requires equality)
// Usage:
Seq.distinctBy projection source
Paramètres
projection
Type : 'T -> 'KeyFonction qui transforme les éléments de séquence en clés comparables.
source
Type : seq<'T>Séquence d'entrée.
Exceptions
Exception |
Condition |
---|---|
Levée lorsque la séquence d'entrée a la valeur Null. |
Valeur de retour
Séquence de résultat.
Notes
Cette fonction se nomme DistinctBy dans les assemblys compilés. Si vous accédez à la fonction à partir d'un langage autre que F# ou par réflexion, utilisez ce nom.
Exemple
L'exemple suivant illustre l'utilisation de Seq.distinctBy pour conserver uniquement les éléments dans une séquence qui ont une valeur absolue distincte. Le premier élément avec un résultat donné est conservé dans la nouvelle séquence, les nombres positifs de 1 à 5 sont supprimés dans la séquence de -5 à +10.
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
Plateformes
Windows 7, Windows Vista SP2, Windows XP SP3, Windows XP x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2
Informations de version
Runtime F#
Pris en charge dans : 2.0, 4.0
Silverlight
Prise en charge dans : 3