Dictionary<TKey,TValue>.TryGetValue(TKey, TValue) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee haalt u de waarde op die is gekoppeld aan de opgegeven sleutel.
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
Parameters
- key
- TKey
De sleutel van de waarde die moet worden opgehaald.
- value
- TValue
Wanneer deze methode wordt geretourneerd, bevat deze de waarde die is gekoppeld aan de opgegeven sleutel, als de sleutel wordt gevonden; anders is de standaardwaarde voor het type van de value parameter. Deze parameter wordt niet-geïnitialiseerd doorgegeven.
Retouren
trueals het Dictionary<TKey,TValue> een element met de opgegeven sleutel bevat; anders. false
Implementeringen
Uitzonderingen
key is null.
Voorbeelden
In het voorbeeld ziet u hoe u de TryGetValue methode gebruikt als een efficiëntere manier om waarden op te halen in een programma waarin vaak sleutels worden geprobeerd die niet in de woordenlijst staan. In het voorbeeld ziet u daarentegen ook hoe de Item[] eigenschap (de indexeerfunctie in C#) uitzonderingen genereert bij het ophalen van niet-bestaande sleutels.
Dit codevoorbeeld maakt deel uit van een groter voorbeeld voor de Dictionary<TKey,TValue> klasse (openWith is de naam van de woordenlijst die in dit voorbeeld wordt gebruikt).
// 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.
match openWith.TryGetValue "tif" with
| true, value -> printfn $"For key = \"tif\", value = {value}."
| _ -> printfn "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
printfn $"""For key = "tif", value = {openWith["tif"]}"""
with :? KeyNotFoundException ->
printfn "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
Opmerkingen
Deze methode combineert de functionaliteit van de ContainsKey methode en de Item[] eigenschap.
Als de sleutel niet wordt gevonden, krijgt de value parameter de juiste standaardwaarde voor het type TValue, bijvoorbeeld 0 (nul) voor gehele getallen, false voor Booleaanse typen en null voor verwijzingstypen.
Gebruik de TryGetValue methode als uw code vaak probeert toegang te krijgen tot sleutels die zich niet in de woordenlijst bevinden. Het gebruik van deze methode is efficiënter dan het vangen van de KeyNotFoundException gegenereerde eigenschap Item[] .
Deze methode benadert een O(1)-bewerking.