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

Definition

Ruft den Wert ab, der dem angegebenen Schlüssel zugeordnet ist.

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, dessen Wert abgerufen werden soll.

value
TValue

Wenn diese Methode zurückgegeben wird, wird der dem angegebenen Schlüssel zugeordnete Wert zurückgegeben, wenn der Schlüssel gefunden wird; andernfalls der Standardwert für den Typ des value Parameters. Dieser Parameter wird nicht initialisiert übergeben.

Gibt zurück

true wenn das SortedList<TKey,TValue> 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 in der sortierten Liste befinden. Im Gegensatz dazu zeigt das Beispiel auch, wie die Item[] Eigenschaft (der Indexer in C#) Ausnahmen auslöst, wenn sie versuchen, nicht vorhandene Schlüssel abzurufen.

Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die SortedList<TKey,TValue> Klasse bereitgestellt wird.

// When a program often has to try keys that turn out not to
// be in the list, 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 list, 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
// When a program often has to try keys that turn out not to
// be in the list, TryGetValue can be a more efficient
// way to retrieve values.
match openWith.TryGetValue("tif") with
| true, value ->
    printfn "For key = \"tif\", value = {value}."
| false, _ ->
    printfn "Key = \"tif\" is not found."
// The indexer throws an exception if the requested key is
// not in the list.
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 list.
Try
    Console.WriteLine("For key = ""tif"", value = {0}.", _
        openWith("tif"))
Catch 
    Console.WriteLine("Key = ""tif"" is not found.")
End Try
// The indexer throws an exception if the requested key is
// not in the list.
try
    printfn $"""For key = "tif", value = {openWith["tif"]}."""
with 
    | :? KeyNotFoundException ->
        printfn "Key = \"tif\" is not found."

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

Diese Methode führt eine binäre Suche durch; Daher handelt es sich bei dieser Methode um einen O(Log)-Vorgang, bei dem n es sich um einen O(Logn)-Vorgang handeltCount.

Gilt für:

Weitere Informationen