Если сделать:
foreach(var a in col) { a.X = 1; }
Станет ли мой итератор для коллекции недействительным?
Спасибо
Это не должно вызывать проблем. Только если вы попытаетесь изменить содержимое col, выполнив col.Remove или col.Add, я пойму, что возникнет проблема.
col
col.Remove
col.Add
Нет. Вы можете получить доступ к членам предметов в коллекции. Ваш код действителен.
Что вы не можете сделать, это изменить саму коллекцию (удалив или добавив в нее элементы) во время итерации.