如果Dictionary<TKey, TValue>.TryGetValue
方法返回true
,则参数value
包含与指定键关联的值。当TryGetValue方法返回true时,更新字典中的值
我已阅读改变与指定键相关联的值的一些示例:调用TryGetValue
方法后,与该键相关联的值的更新由索引器执行,从而导致进一步的访问Dictionary
(见下面的代码)。
var d = new Dictionary<string, MyClass>();
...
MyClass obj;
if (d.TryGetValue(key, out obj))
{
d[key].Update(...); // update the value
}
obj
对象是对与键相关的值的引用。为什么不直接使用该对象来更新值,如下面的代码所示?
MyClass obj;
if (d.TryGetValue(key, out obj))
{
obj.Update(...); // update the value
}