Partager via


Map.findKey<'Key,'T>, fonction (F#)

Évalue la fonction sur chaque mappage de la collection et retourne la clé pour le premier mappage où la fonction retourne true. Si aucun élément de ce type n'existe, cette fonction lève KeyNotFoundException.

Espace de noms/Chemin du module : Microsoft.FSharp.Collections.Map

Assembly : FSharp.Core (in FSharp.Core.dll)

// Signature:
Map.findKey : ('Key -> 'T -> bool) -> Map<'Key,'T> -> 'Key (requires comparison)

// Usage:
Map.findKey predicate table

Paramètres

  • predicate
    Type : 'Key -> 'T -> bool

    Fonction permettant de tester les éléments d'entrée.

  • table
    Type : Map<'Key,'T>

    Mappage d'entrée.

Exceptions

Exception

Condition

KeyNotFoundException

Levée si la clé ne figure pas dans le mappage.

Valeur de retour

Première clé pour laquelle le prédicat prend la valeur true.

Notes

Cette fonction se nomme FindKey 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 montre comment utiliser Map.findKey.

let findKeyFromValue findValue map =
    printfn "With value %A, found key %A." findValue (Map.findKey (fun key value -> value = findValue) map)
let map1 = Map.ofList [ (1, "one"); (2, "two"); (3, "three") ]
let map2 = Map.ofList [ for i in 1 .. 10 -> (i, i*i) ]
try
    findKeyFromValue "one" map1
    findKeyFromValue "two" map1
    findKeyFromValue 9 map2
    findKeyFromValue 25 map2
    // The key is not in the map, so the following line throws an exception.
    findKeyFromValue 0 map2
with
     :? System.Collections.Generic.KeyNotFoundException as e -> printfn "%s" e.Message

Sortie

  
  
  
  
  

Plateformes

Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2

Informations de version

Versions de bibliothèque principale F#

Prise en charge dans : 2,0, 4,0, portables

Voir aussi

Référence

Collections.Map, module (F#)

Microsoft.FSharp.Collections, espace de noms (F#)