Dictionary<TKey, TValue>.TryGetValue
メソッドが を返す場合true
、パラメータvalue
には指定されたキーに関連付けられた値が含まれます。
指定されたキーに関連付けられた値を変更する例をいくつか読みました。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
}