Я хочу удалить каждую монету, для которой логическое значение удаления установлено в true, и я знаю, что не могу удалить ее из той же коллекции, которую перебирает foreach. Итак, я сделал копию (временную), но она продолжает выдавать одно и то же исключение:
Коллекция была изменена; операция перечисления может не выполняться.
Что я делаю неправильно? Вот мой код:
List<Coin> temp = coins;
foreach (Coin c in coins)
{
if (c.delete)
temp.Remove(c);
else
c.somethingElse();
}
coins = temp;