Compartilhar via


Map.findKey <' chave, T' > Função (F#)

Avalia a função em cada mapeamento na coleção e retorna a chave para o primeiro mapeamento onde a função retorna true.Se nenhum tal elemento existir, gera KeyNotFoundExceptionde essa função.

Namespace/Module Path: Microsoft.FSharp.Collections.Map

Assembly: FSharp.Core (em FSharp.Core.dll)

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

// Usage:
Map.findKey predicate table

Parâmetros

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

    A função para testar os elementos de entrada.

  • table
    Tipo: mapa<'Key,'T>

    O mapa de entrada.

Exceções

Exceção

Condição

KeyNotFoundException

Gerada se a chave não existe no mapa.

Valor de retorno

a primeira chave para que o predicado avalia true.

Comentários

Essa função é chamada FindKey em assemblies compilados.Se você está acessando a função de um idioma diferente F#, ou com a reflexão, use este nome.

Exemplo

O exemplo a seguir mostra como usar 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

Saída

  
  
  
  
  

Plataformas

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

Informações de Versão

Versões da biblioteca principal de F#

Suportado em: 2,0, 4,0, portáteis

Consulte também

Referência

Módulo de Collections.Map (F#)

Microsoft.FSharp.Collections Namespace (F#)