此代码抛出异常,而我正在尝试更新值,第一个值仅更新,然后抛出异常“集合已被修改;枚举操作可能无法执行”。 !!!!
Hashtable hh = new Hashtable();
hh.Add("val 1",null);
hh.Add("val 2", null);
foreach (string dd in hh.Keys)
{
hh[dd] = "some_value";
// MessageBox.Show(dd.Value.ToString());
}
我需要更新哈希表中的空值或任何具有[key,value] ??
的等效结构答案 0 :(得分:1)
你需要制作hh.Keys的副本,因为你试图在foreach循环中枚举其键时尝试更改无效操作的Hashtable。
试试此代码
foreach (string dd in new List<object>(hh.Keys.Cast<object>()))
{
hh[dd] = "some_value";
MessageBox.Show(dd);
}