Collection was modified; enumeration operation may not execute. when update values of hashtable

守給你的承諾、 提交于 2019-12-31 06:28:20

问题


this code throw exception while i am trying to update value ,first value only updated and then throw the exception "Collection was modified; enumeration operation may not execute." !!!!

        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());
        }

i need to update empty values in hashtables or any equivalent structure that has [key,value]??


回答1:


You need to make copy of hh.Keys, because you are trying to change Hashtable which is invalid operation while enumerating its keys in the foreach loop.

Try this code

foreach (string dd in new List<object>(hh.Keys.Cast<object>()))
{
    hh[dd] = "some_value";
    MessageBox.Show(dd);
}


来源:https://stackoverflow.com/questions/4726137/collection-was-modified-enumeration-operation-may-not-execute-when-update-valu

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!