Dictionary<TKey,TValue>.TryGetValue(TKey, TValue) Méthode

Définition

Obtient la valeur associée à la clé spécifiée.

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

Paramètres

key
TKey

Clé de la valeur à obtenir.

value
TValue

Cette méthode retourne la valeur associée à la clé spécifiée, si la clé est trouvée ; sinon, retourne la valeur par défaut pour le type du paramètre value. Ce paramètre est passé sans être initialisé.

Retours

Boolean

true si Dictionary<TKey,TValue> contient un élément correspondant à la clé spécifiée ; sinon, false.

Implémente

Exceptions

key est null.

Exemples

L’exemple montre comment utiliser la TryGetValue méthode comme un moyen plus efficace pour récupérer des valeurs dans un programme qui tente fréquemment des clés qui ne sont pas dans le dictionnaire. Par opposition, l’exemple montre également comment la Item[] propriété (l’indexeur en C#) lève des exceptions lors de la tentative de récupération de clés inexistantes.

Cet exemple de code fait partie d’un exemple plus complet fourni pour la Dictionary<TKey,TValue> classe ( openWith est le nom du dictionnaire utilisé dans cet exemple).

// 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

Remarques

Cette méthode combine les fonctionnalités de la ContainsKey méthode et de la Item[] propriété.

Si la clé est introuvable, le value paramètre obtient la valeur par défaut appropriée pour le type TValue ; par exemple, 0 (zéro) pour les types d’entiers, false pour les types booléens et null pour les types référence.

Utilisez la TryGetValue méthode si votre code tente souvent d’accéder à des clés qui ne sont pas dans le dictionnaire. L’utilisation de cette méthode est plus efficace que l’interception de l' KeyNotFoundException exception levée par la Item[] propriété.

Cette méthode s’approche d’une opération O (1).

S’applique à

Voir aussi