次の方法で共有


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
    型: '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#)

履歴の変更

日付

履歴

理由

2010 年 8 月

コード例を追加。

情報の拡充