user486848
user486848

Reputation: 25

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

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]??

Upvotes: 0

Views: 2180

Answers (1)

sidon
sidon

Reputation: 1482

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

Upvotes: 1

Related Questions