Dictionary<TKey,TValue>.TryGetValue(TKey, TValue) Dictionary<TKey,TValue>.TryGetValue(TKey, TValue) Dictionary<TKey,TValue>.TryGetValue(TKey, TValue) Dictionary<TKey,TValue>.TryGetValue(TKey, TValue) Method

Definição

Obtém o valor associado à chave especificada.Gets the value associated with the specified key.

public:
 virtual bool TryGetValue(TKey key, [Runtime::InteropServices::Out] TValue % value);
public bool TryGetValue (TKey key, out TValue value);
abstract member TryGetValue : 'Key *  -> bool
override this.TryGetValue : 'Key *  -> bool
Public Function TryGetValue (key As TKey, ByRef value As TValue) As Boolean

Parâmetros

key
TKey TKey TKey TKey

A chave do valor a ser obtido.The key of the value to get.

value
TValue TValue TValue TValue

Quando esse método retorna, ele contém o valor associado à chave especificada, caso a chave seja encontrada; caso contrário, o valor padrão para o tipo do parâmetro value.When this method returns, contains the value associated with the specified key, if the key is found; otherwise, the default value for the type of the value parameter. Este parâmetro é passado não inicializado.This parameter is passed uninitialized.

Retornos

true se o Dictionary<TKey,TValue> contiver um elemento com a chave especificada; caso contrário, false.true if the Dictionary<TKey,TValue> contains an element with the specified key; otherwise, false.

Implementações

Exceções

Exemplos

O exemplo mostra como usar o TryGetValue o método como uma maneira mais eficiente para recuperar valores em um programa que tenta frequentemente chaves que não estão no dicionário.The example shows how to use the TryGetValue method as a more efficient way to retrieve values in a program that frequently tries keys that are not in the dictionary. Para contraste, o exemplo também mostra como o Item[TKey] propriedade (o indexador em c#) lança exceções ao tentar recuperar as chaves não existentes.For contrast, the example also shows how the Item[TKey] property (the indexer in C#) throws exceptions when attempting to retrieve nonexistent keys.

Este exemplo de código é parte de um exemplo maior fornecido para o Dictionary<TKey,TValue> classe (openWith é o nome do dicionário usado neste exemplo).This code example is part of a larger example provided for the Dictionary<TKey,TValue> class (openWith is the name of the Dictionary used in this example).

// When a program often has to try keys that turn out not to
// be in the dictionary, TryGetValue can be a more efficient
// way to retrieve values.
String^ value = "";
if (openWith->TryGetValue("tif", value))
{
    Console::WriteLine("For key = \"tif\", value = {0}.", value);
}
else
{
    Console::WriteLine("Key = \"tif\" is not found.");
}
// When a program often has to try keys that turn out not to
// be in the dictionary, TryGetValue can be a more efficient 
// way to retrieve values.
string value = "";
if (openWith.TryGetValue("tif", out value))
{
    Console.WriteLine("For key = \"tif\", value = {0}.", value);
}
else
{
    Console.WriteLine("Key = \"tif\" is not found.");
}
' When a program often has to try keys that turn out not to
' be in the dictionary, TryGetValue can be a more efficient 
' way to retrieve values.
Dim value As String = ""
If openWith.TryGetValue("tif", value) Then
    Console.WriteLine("For key = ""tif"", value = {0}.", value)
Else
    Console.WriteLine("Key = ""tif"" is not found.")
End If
// The indexer throws an exception if the requested key is
// not in the dictionary.
try
{
    Console::WriteLine("For key = \"tif\", value = {0}.",
        openWith["tif"]);
}
catch (KeyNotFoundException^)
{
    Console::WriteLine("Key = \"tif\" is not found.");
}
// The indexer throws an exception if the requested key is
// not in the dictionary.
try
{
    Console.WriteLine("For key = \"tif\", value = {0}.", 
        openWith["tif"]);
}
catch (KeyNotFoundException)
{
    Console.WriteLine("Key = \"tif\" is not found.");
}
' The default Item property throws an exception if the requested
' key is not in the dictionary.
Try
    Console.WriteLine("For key = ""tif"", value = {0}.", _
        openWith("tif"))
Catch 
    Console.WriteLine("Key = ""tif"" is not found.")
End Try

Comentários

Esse método combina a funcionalidade do ContainsKey método e o Item[TKey] propriedade.This method combines the functionality of the ContainsKey method and the Item[TKey] property.

Se a chave não for encontrada, o value parâmetro obtém o valor padrão adequado para o tipo TValue; por exemplo, 0 (zero) para tipos de inteiros false para tipos boolianos, e null para tipos de referência.If the key is not found, then the value parameter gets the appropriate default value for the type TValue; for example, 0 (zero) for integer types, false for Boolean types, and null for reference types.

Use o TryGetValue método se o seu código tentar acessar as chaves que não estão no dicionário com frequência.Use the TryGetValue method if your code frequently attempts to access keys that are not in the dictionary. Usando esse método é mais eficiente que captura a KeyNotFoundException geradas pelo Item[TKey] propriedade.Using this method is more efficient than catching the KeyNotFoundException thrown by the Item[TKey] property.

Este método abrange uma operação O(1).This method approaches an O(1) operation.

Aplica-se a

Veja também