Map.findKey<'Key,'T> 函数 (F#)
更新:2010 年 8 月
计算集合中每个映射上的函数并且在函数返回 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
参数
异常
异常 |
Condition |
---|---|
在映射中不存在该键时引发。 |
返回值
谓词为其计算为 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 7、Windows Vista SP2、Windows XP SP3、Windows XP x64 SP2、Windows Server 2008 R2、Windows Server 2008 SP2、Windows Server 2003 SP2
版本信息
F# 运行时
受以下版本支持:2.0、4.0
Silverlight
受以下版本支持:3
请参见
参考
Microsoft.FSharp.Collections 命名空间 (F#)
修订记录
Date |
修订记录 |
原因 |
---|---|---|
2010 年 8 月 |
添加了代码示例。 |
信息补充。 |