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

计算集合中每个映射上的函数并且在函数返回 true 的地方返回第一个映射的键。 如果不存在此类元素,则该函数引发 KeyNotFoundException

命名空间/模块路径: Microsoft.FSharp.Collections.Map

程序集:FSharp.Core(在 FSharp.Core.dll 中)

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

// Usage:
Map.findKey predicate table

参数

  • predicate
    类型:'Key -> 'T -> bool

    用于测试输入元素的函数。

  • table
    类型:Map<'Key,'T>

    输入映射。

异常

异常

Condition

KeyNotFoundException

在映射中不存在该键时引发。

返回值

谓词为其计算为 true 的第一个键。

备注

此函数在编译的程序集中名为 FindKey。 如果从 F# 以外的语言中访问函数,或通过反射访问成员,请使用此名称。

示例

下面的示例显示如何使用 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

  
  
  
  
  

平台

Windows 8,Windows 7,Windows server 2012中,Windows server 2008 R2

版本信息

F#核心库版本

支持:2.0,4.0,可移植

请参见

参考

Collections.Map 模块 (F#)

Microsoft.FSharp.Collections 命名空间 (F#)