Dictionary<TKey,TValue>.TryGetValue(TKey, TValue) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
true
si Dictionary<TKey,TValue> contient un élément correspondant à la clé spécifiée ; sinon, false
.
Implémente
Exceptions
key
a la valeur null
.
Exemples
L’exemple montre comment utiliser la TryGetValue méthode comme un moyen plus efficace de récupérer des valeurs dans un programme qui essaie fréquemment des clés qui ne figurent pas dans le dictionnaire. Par contraste, 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 grand 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 entiers, false
pour les types booléens et null
pour les types de référence.
Utilisez la TryGetValue méthode si votre code tente fréquemment d’accéder à des clés qui ne figurent pas dans le dictionnaire. L’utilisation de cette méthode est plus efficace que l’intercepter par KeyNotFoundException la Item[] propriété.
Cette méthode approche une opération O(1).