![]() |
Индексация Списка
Простите, что запостил сюда, но думаю, C# и C++ похожи, а так в болтовне зафлудят всё.
Итак, весь вопрос вот в чем: Как проиндексировать связной список в C#? :) У меня в цикле идет проверка всех элементов в списке, и у того, что имеет значение жизни равным 0 - удаляется. Все бы ничего, но компилятор сразу же ругается, что мол, список модифицирован, дальнейшие действия не могут быть произведены. Мне нужно его "рефрешить" что ли, вот только как? Код такой (все довольно просто): Сначала создаю связной список (статический он для того, что бы я смог добавлять в него элементы с любой части кода :) ) Код:
static LinkedList<Bullet> Bulllist = new LinkedList<Bullet> ( ); Код:
float alpha = 1.0f; Код:
public void Update ( ) Код:
foreach ( Bullet i in Bulllist ) { i.Update ( );} |
Re: Индексация Списка
При удалении элемента может просто изменится порядок элементов, а может вообще все перемешаться во внутренней структуре списка. Нужно заменить foreach на свой аналог, где контролировать удаления. Или надо просто помечать эелементы как удаленные, а потом где-то их удалять (по одному).
|
Re: Индексация Списка
Спасибо, попробую. :)
|
Re: Индексация Списка
http://www.boolean.name/showthread.php?t=3240
эту тему почитай |
Re: Индексация Списка
Спасибо всем, проблема решена. Только частично. Ибо ничего это мне не дало. В общем, скажу как исправить - создавать стек, а не связной список :-) Вот только удалять в реалтайме все равно ни как нельзя.
|
Re: Индексация Списка
Надо было выбирать С++)
|
Re: Индексация Списка
Ничего, до него я тоже добреусь :-)
|
Часовой пояс GMT +4, время: 23:42. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot