Показать сообщение отдельно
Старый 22.06.2007, 12:46   #1
johnk
Легенда
 
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений
(для 568 пользователей)
Вопрос Индексация Списка

Простите, что запостил сюда, но думаю, C# и C++ похожи, а так в болтовне зафлудят всё.

Итак, весь вопрос вот в чем: Как проиндексировать связной список в C#? У меня в цикле идет проверка всех элементов в списке, и у того, что имеет значение жизни равным 0 - удаляется. Все бы ничего, но компилятор сразу же ругается, что мол, список модифицирован, дальнейшие действия не могут быть произведены. Мне нужно его "рефрешить" что ли, вот только как?


Код такой (все довольно просто):
Сначала создаю связной список (статический он для того, что бы я смог добавлять в него элементы с любой части кода )
static LinkedList<Bullet> Bulllist = new LinkedList<Bullet> ( );
Потом в классе делаю private - переменную:
float alpha = 1.0f;
В Методе Update она декрементируется:
public void Update ( )
                {
                x += xspeed;
                y += yspeed;
                alpha -= 0.01f;
                if ( alpha <= 0 ) Bulllist.Remove ( this );
                }
И сообственно, последнее условие и есть то, из-за чего все проблемы Далее в игровом цикле есть вот такое выражение:
foreach ( Bullet i in Bulllist ) { i.Update ( );}
- именно сюда и ругается компилятор. *Ругается, если alpha у i равна 0.
(Offline)
 
Ответить с цитированием