IDictionary<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:
bool TryGetValue(TKey key, [Runtime::InteropServices::Out] TValue % value);
public bool TryGetValue (TKey key, out TValue value);
abstract member TryGetValue : 'Key * 'Value -> bool
Public Function TryGetValue (key As TKey, ByRef value As TValue) As Boolean
Paramètres
- key
- TKey
Clé dont la valeur doit être obtenue.
- value
- TValue
Lorsque cette méthode est retournée, la valeur associée à la clé spécifiée, si la clé est trouvée ; sinon, la valeur par défaut pour le type du paramètre value
. Ce paramètre est passé sans être initialisé.
Retours
true
si l’objet qui implémente IDictionary<TKey,TValue> contient un élément correspondant à la clé spécifiée ; sinon, false
.
Exceptions
key
a la valeur null
.
Exemples
L’exemple montre comment utiliser la TryGetValue méthode pour récupérer des valeurs. Si un programme tente fréquemment des valeurs de clé qui ne figurent pas dans un dictionnaire, la TryGetValue méthode peut être plus efficace que l’utilisation de la Item[] propriété (l’indexeur en C#), qui lève des exceptions lors de la tentative de récupération de clés inexistantes.
Ce code fait partie d’un exemple plus large qui peut être compilé et exécuté. Consultez System.Collections.Generic.IDictionary<TKey,TValue>.
// 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 méthode et de ContainsKey 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, zéro (0) pour les types entiers, false
pour les types booléens et null
pour les types référence.