SortedDictionary<TKey,TValue>.TryGetValue(TKey, TValue) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets the value associated with the specified key.
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
The key of the value to get.
- value
- TValue
When this method returns, the value associated with the specified key, if the key is found; otherwise, the default value for the type of the value
parameter.
Returns
true
if the SortedDictionary<TKey,TValue> contains an element with the specified key; otherwise, false
.
Implements
Exceptions
key
is null
.
Examples
The example shows how to use the TryGetValue method as a more efficient way to retrieve values in a program that frequently tries keys that are not in the dictionary. For contrast, the example also shows how the Item[] property (the indexer in C#) throws exceptions when attempting to retrieve nonexistent keys.
This code example is part of a larger example provided for the SortedDictionary<TKey,TValue> class.
// 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 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
Remarks
This method combines the functionality of the ContainsKey method and the Item[] property.
If the key is not found, then the value
parameter gets the appropriate default value for the value type TValue
; for example, 0 (zero) for integer types, false
for Boolean types, and null
for reference types.
This method is an O(log n
) operation.