共用方式為


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

參數

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

    用來測試輸入項目的函式。

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

    輸入對應。

例外狀況

例外狀況

條件

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

輸出

            

平台

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

請參閱

參考

Collections.Map 模組 (F#)

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

變更記錄

日期

History

原因

2010 年 8 月

加入程式碼範例。

資訊加強。