I am trying to update the contents of a C# Dictionary in a foreach loop, when a certain condition is met.
foreach (KeyValuePair<int, Corpus_22_04_2014_StreetTable_Row> entry in id_StreetNameDictionary)
{
    if(something_happens())
    {
         Corpus_22_04_2014_StreetTable_Row r = entry.Value;
         //Modify r
         id_StreetNameDictionary[entry.Key] = r;
    }
}
This throws an InvalidOperationException stating that "Collection was modified; enumeration operation may not execute.". It seems that we are not allowed to modify the contents of a Dictionary in foreach loop.
What can be a possible workaround to that?
 
     
     
    