C#中的TryGetValue(TKey,TValue)是一个可以用于Dictionary类的方法。该方法的作用是获取指定键所对应的值,如果不存在则返回默认值。下面是该方法的完整攻略。
方法语法
Dictionary
public bool TryGetValue(TKey key, out TValue value);
public bool TryGetValue(TKey key, TValue value);
其中第一个方法将尝试获取与指定键关联的值,如果值存在,则将该值作为方法的输出参数,返回true。如果值不存在,则返回false,并将输出参数value设置为值类型或引用类型的默认值。
第二个方法与第一个方法类似,但是它将传递的参数value看作是已经初始化的对象,并会将该参数设置为与指定键关联的值。如果值存在,则返回true,否则返回false。
使用示例
以下是两个使用TryGetValue()方法的示例:
示例1:尝试获取Dictionary的指定键的值
Dictionary<string, int> myDictionary = new Dictionary<string, int>();
myDictionary.Add("One", 1);
myDictionary.Add("Two", 2);
myDictionary.Add("Three", 3);
int value1;
if(myDictionary.TryGetValue("Two", out value1))
{
Console.WriteLine("Value of key 'Two': {0}", value1);
}
else
{
Console.WriteLine("Key 'Two' not found");
}
int value2;
if(myDictionary.TryGetValue("Four", out value2))
{
Console.WriteLine("Value of key 'Four': {0}", value2);
}
else
{
Console.WriteLine("Key 'Four' not found");
}
输出结果为:
Value of key 'Two': 2
Key 'Four' not found
示例2:初始化一个对象并获取Dictionary的指定键的值
Dictionary<string, string> myDictionary = new Dictionary<string, string>();
myDictionary.Add("One", "First");
myDictionary.Add("Two", "Second");
myDictionary.Add("Three", "Third");
string value3 = "";
if(myDictionary.TryGetValue("Two", out value3))
{
Console.WriteLine("Value of key 'Two': {0}", value3);
}
string value4 = "";
if(myDictionary.TryGetValue("Four", out value4))
{
Console.WriteLine("Value of key 'Four': {0}", value4);
}
else
{
Console.WriteLine("Key 'Four' not found");
}
输出结果为:
Value of key 'Two': Second
Key 'Four' not found
总结
TryGetValue()方法在从Dictionary中获取值时非常有用,这样就可以避免因为键不存在而引发异常。我们可以通过两个重载形式的方法来使用,并且可以根据需要决定是否初始化值类型或引用类型的默认值。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# TryGetValue(TKey,TValue):获取具有指定键的值 - Python技术站