Sdílet prostřednictvím


Map.findKey < "klíč, t > Funkce (F#)

Funkce na každé mapování v kolekci vyhodnotí a vrátí klíč pro první mapování, kde vrátí funkce true.Pokud neexistuje žádný takový prvek, tato funkce zvyšuje KeyNotFoundException.

Cesta k oboru názvů nebo modul: Microsoft.FSharp.Collections.Map

Sestavení: FSharp.Core (v FSharp.Core.dll)

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

// Usage:
Map.findKey predicate table

Parametry

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

    Funkce testování vstupní prvky.

  • table
    Typ: mapy<'Key,'T>

    Vstupní mapa.

Výjimky

Výjimka

Podmínka

KeyNotFoundException

Vyvolána, pokud tento klíč neexistuje v mapě.

Vrácená hodnota

První klíč, jehož predikátu vyhodnotí true.

Poznámky

Tato funkce se nazývá FindKey v kompilovaný sestavení.Pokud přistupujete k funkci jazyka než F# nebo prostřednictvím reflexe, tento název použijte.

Příklad

Následující příklad ukazuje použití 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

Výsledek

  
  
  
  
  

Platformy

Windows 8, Windows 7, Windows Server 2012 Windows Server 2008 R2

Informace o verzi

F# základní verze knihovny

Podporovány: 2.0, 4.0, přenosné

Viz také

Referenční dokumentace

Collections.map modul (F#)

Obor názvů Microsoft.FSharp.Collections (F#)