Вместо этого зацикливайте свойство Keys
.Когда вы используете перечислители, любая модификация базовой коллекции делает недействительным перечислитель при следующем вызове MoveNext
.
. Вы можете перечислить Keys
или AllKeys
(это просто строковый массив) и изменитьзначения, на которые они указывают достаточно безопасно.
Кроме того, свойства KeyValuePair<K, V>
сами по себе доступны только для чтения, поэтому, итераторные блоки или нет, нет обстоятельств, при которых вы могли бы изменить эти значения без злоупотребления отражением.*