Code: Select all
Hashtable map = new Hashtable();
map["first"] = 10;
map["second"] = 20;
foreach(DictionaryEntry e in map)
{
e.Value = 100;
Console.WriteLine("{0}: {1}", key, map[key]);
}
Вообще не компилит, причём выдаёт совершенно невразумительное сообщение об ошибке.
Вот так вот тоже не работает:
Code: Select all
Hashtable map = new Hashtable();
map["first"] = 10;
map["second"] = 20;
foreach(object key in map.Keys)
{
map[key] = 100;
Console.WriteLine("{0}: {1}", key, map[key]);
}
Бросает исключение, что коллекция была изменена и она не может дальше енумерэйтить.
Так я же не ключи меняю?!