Map.findKey<'Key,'T> Function (F#)
Evaluates the function on each mapping in the collection and returns the key for the first mapping where the function returns true. If no such element exists, this function raises KeyNotFoundException.
Namespace/Module Path: 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
Parameters
predicate
Type: 'Key -> 'T ->boolThe function to test the input elements.
table
Type: Map<'Key,'T>The input map.
Exceptions
Exception |
Condition |
---|---|
Thrown if the key does not exist in the map. |
Return Value
The first key for which the predicate evaluates true.
Remarks
This function is named FindKey in compiled assemblies. If you are accessing the function from a language other than F#, or through reflection, use this name.
Example
The following example shows how to use 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
Output
With value "one", found key 1. With value "two", found key 2. With value 9, found key 3. With value 25, found key 5. Exception of type 'System.Collections.Generic.KeyNotFoundException' was thrown.
Platforms
Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2
Version Information
F# Core Library Versions
Supported in: 2.0, 4.0, Portable