Dictionary<TKey,TValue>.TryGetValue(TKey, TValue) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft den dem angegebenen Schlüssel zugeordneten Wert ab.
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
Parameter
- key
- TKey
Der Schlüssel des abzurufenden Werts.
- value
- TValue
Enthält nach dem Beenden dieser Methode den Wert, der dem angegebenen Schlüssel zugeordnet ist, wenn der Schlüssel gefunden wurde, oder andernfalls den Standardwert für den Typ des value
-Parameters. Dieser Parameter wird nicht initialisiert übergeben.
Gibt zurück
true
, wenn das Dictionary<TKey,TValue> ein Element mit dem angegebenen Schlüssel enthält, andernfalls false
.
Implementiert
Ausnahmen
key
ist null
.
Beispiele
Das Beispiel zeigt, wie Sie die TryGetValue -Methode als effizientere Methode zum Abrufen von Werten in einem Programm verwenden, das häufig Schlüssel versucht, die sich nicht im Wörterbuch befinden. Im Gegensatz dazu zeigt das Beispiel auch, wie die Item[] -Eigenschaft (der Indexer in C#) Ausnahmen auslöst, wenn versucht wird, nicht vorhandene Schlüssel abzurufen.
Dieses Codebeispiel ist Teil eines größeren Beispiels für die Dictionary<TKey,TValue> -Klasse (openWith
ist der Name des in diesem Beispiel verwendeten Wörterbuchs).
// 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
Hinweise
Diese Methode kombiniert die Funktionalität der ContainsKey -Methode und der Item[] -Eigenschaft.
Wenn der Schlüssel nicht gefunden wird, ruft der value
Parameter den entsprechenden Standardwert für den Typ TValue
ab, z. B. 0 (Null) für ganzzahlige Typen, false
für boolesche Typen und null
für Verweistypen.
Verwenden Sie die TryGetValue -Methode, wenn Ihr Code häufig versucht, auf Schlüssel zuzugreifen, die sich nicht im Wörterbuch befinden. Die Verwendung dieser Methode ist effizienter als das abfangen, das KeyNotFoundException von der Item[] -Eigenschaft ausgelöst wird.
Diese Methode nähert sich einem O(1)-Vorgang.