Dictionary の Values をすべて更新する
って、みなさんどうやってます? 手法はたくさんあるんだと思いますが。
たとえば、Dictionary
string[] keys = new string[dict.Count]; dict.Keys.CopyTo(keys); foreach (string key in keys) dict[key] *= 2;
とかかな?
public void ForEach(Action<KeyValuePair<TKey, TValue>> action, bool acceptChanges);
みたいなメソッド欲しくないですか(笑
実行時効率は置いといて Generic Method を無理やり使うなら、
new List<string>(dict.Keys).ForEach(delegate(string key)) { dict[key] *= 2; }
というところでしょうか。JIT が、これを上の foreach と同じレベルまで最適化できたらすばらしいんだけど。