IDictionary<TKey,TValue>.TryGetValue(TKey, TValue) Methode

Definition

Ruft den dem angegebenen Schlüssel zugeordneten Wert ab.

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

Parameter

key
TKey

Der Schlüssel, dessen Wert abgerufen werden soll.

value
TValue

Wenn diese Methode zurückgegeben wird, enthält sie den dem angegebenen Schlüssel zugeordneten Wert, wenn der Schlüssel gefunden wird, andernfalls enthält sie den Standardwert für den Typ des value-Parameters. Dieser Parameter wird nicht initialisiert übergeben.

Gibt zurück

true, wenn das Objekt, das IDictionary<TKey,TValue> implementiert, ein Element mit dem angegebenen Schlüssel enthält, andernfalls false.

Ausnahmen

key ist null.

Beispiele

Das Beispiel zeigt, wie Sie die TryGetValue -Methode zum Abrufen von Werten verwenden. Wenn ein Programm häufig Schlüsselwerte versucht, die sich nicht in einem Wörterbuch befinden, kann die TryGetValue Methode effizienter sein als die Verwendung der Item[] -Eigenschaft (der Indexer in C#), die Ausnahmen auslöst, wenn nicht vorhandene Schlüssel abgerufen werden.

Dieser Code ist Teil eines größeren Beispiels, das kompiliert und ausgeführt werden kann. Siehe 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

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 TValueab, z. B. null (0) für ganzzahlige Typen, false für boolesche Typen und null für Verweistypen.

Gilt für:

Weitere Informationen