当我尝试更新值时,此代码抛出异常,第一个值仅更新,然后抛出异常“集合已修改;枚举操作可能无法执行”。 !!!
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] 的等效结构中的空值?
您需要复制 hh.Keys,因为您试图更改 Hashtable,这是在 foreach 循环中枚举其键时无效的操作。
试试这个代码
foreach (string dd in new List<object>(hh.Keys.Cast<object>()))
{
hh[dd] = "some_value";
MessageBox.Show(dd);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)