在C#中,TryGetValue
方法用于尝试从字典(Dictionary)或集合(Dictionary-like collection)中获取一个值,如果键不存在,则返回默认值。虽然TryGetValue
方法已经很简洁了,但你仍然可以使用扩展方法(extension method)来进一步简化代码。
下面是一个使用扩展方法的示例:
public static class DictionaryExtensions
{
public static TValue GetValueOrDefault(this IDictionary dictionary, TKey key, TValue defaultValue)
{
return dictionary.TryGetValue(key, out TValue value) ? value : defaultValue;
}
}
使用这个扩展方法后,你可以像下面这样简化TryGetValue
的调用:
var dictionary = new Dictionary{ { "apple", 1 }, { "banana", 2 } }; int value = https://www.yisu.com/ask/dictionary.GetValueOrDefault("apple", 0); // value will be 1 int nonExistentValue = https://www.yisu.com/ask/dictionary.GetValueOrDefault("orange", 0); // value will be 0
这样,你就可以通过调用GetValueOrDefault
方法来简化TryGetValue
的用法。