次の方法で共有


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>

    入力マップ。

例外

例外

状態

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 8、Windows 7、Windows Server 2012 で Windows Server 2008 R2

バージョン情報

F# コア ライブラリのバージョン

サポート: ポータブル 2.0、4.0

参照

関連項目

Collections.Map モジュール (F#)

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