class Program
{
static void Main(string[] args)
{
var dictionary = new Dictionary<string, int>()
{
{"1", 1}, {"2", 2}, {"3", 3}
};
foreach (var s in dictionary.Keys)
{
// Throws the "Collection was modified exception..." on the next iteration
// What's up with that?
dictionary[s] = 1;
}
}
}
Ich verstehe vollkommen, warum diese Ausnahme beim Aufzählen einer Liste ausgelöst wird. Es scheint vernünftig zu erwarten, dass sich während der Aufzählung die Struktur des aufgezählten Objekts nicht ändert. Ändert sich jedoch eine Wert eines Wörterbuchs ändert auch dessen Struktur ? Insbesondere die Struktur der Schlüssel?