Влияет ли изменение поля элемента в коллекции при итерации на недействительность коллекции? - PullRequest
1 голос
/ 29 ноября 2009

Если сделать:

foreach(var a in col) {
     a.X = 1;
}

Станет ли мой итератор для коллекции недействительным?

Спасибо

Ответы [ 2 ]

2 голосов
/ 29 ноября 2009

Это не должно вызывать проблем. Только если вы попытаетесь изменить содержимое col, выполнив col.Remove или col.Add, я пойму, что возникнет проблема.

2 голосов
/ 29 ноября 2009

Нет. Вы можете получить доступ к членам предметов в коллекции. Ваш код действителен.

Что вы не можете сделать, это изменить саму коллекцию (удалив или добавив в нее элементы) во время итерации.

...