Udostępnij za pośrednictwem


Map.findKey<'Key,'T> — Funkcja (F#)

Wynikiem funkcji każdego mapowania w kolekcji i zwraca klucza dla pierwszego mapowania, gdy funkcja zwraca true.Jeśli element nie istnieje, funkcja ta wywołuje KeyNotFoundException.

Ścieżka obszaru nazw/modułu: Microsoft.FSharp.Collections.Map

Zestaw: FSharp.Core (w 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

    Funkcja testowania wprowadzania elementów.

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

    Mapa wejściowego.

Wyjątki

Wyjątek

Warunek

KeyNotFoundException

Zgłoszony, jeśli klucz nie istnieje na mapie.

Wartość zwracana

Pierwszy klawisz, którego wynikiem predykat true.

Uwagi

Ta funkcja o nazwie FindKey w skompilowane zestawy.Jeżeli języka, niż F# lub przez odbicie, uzyskują dostęp do funkcji, należy użyć tej nazwy.

Przykład

Poniższy przykład pokazuje, jak używać 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

Dane wyjściowe

  
  
  
  
  

Platformy

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

Informacje o wersji

F# Core wersji biblioteki

Obsługiwane: 2.0, 4.0, przenośne

Zobacz też

Informacje

Collections.Map — Moduł (F#)

Microsoft.FSharp.Collections — Przestrzeń nazw (F#)