我有这段代码,它给我的集合已修改,无法再枚举,但我没有更改值:
public static void AddtoDictionary(string words, Dictionary<int, int> dWords)
{
if (DCache.ContainsKey(words))
{
Dictionary<int, int> _dwordCache = DCache[words];
//error right here
foreach (int _key in _dwordCache.Keys)
{
int _value = _dwordCache[_key];
if (dWords.ContainsKey(_key))
{
dWords[_key] = (dWords[_key] + _value);
}
else
{
dWords[_key] = _value;
}
}
}
}
我正在改变dWords
而不是改变_dwordCache
。有两个字典。我可以理解,如果我改变_dwordCache
它会给我那个错误,但参数正在改变。