Есть List игровых процессов, которым корутина добавляет ++ игровой день.

Если дней накопилось достаточно, то процесс завершается и запрашивает List.Remove().

Нормально перебор List сделать с конца, чтобы индексы не всирались после remove?

10 ответов

4 просмотра

а точно ли здесь нужен лист?

Кирилл-Корнеев Автор вопроса

А есть такая типа куча, чтобы не по индексам обращаться ко всем элементам (порядок не важен)?

ну, если индексация не нужна, то есть HashSet

Кирилл-Корнеев Автор вопроса

InvalidOperationException: Collection was modified; enumeration operation may not execute. Запускаю три одинаковых процесса, они заканчиваются одновременно и пытаются исполнить HashSet.Remove()

внутри перечисления нельзя изменять коллекцию

у тебя счетчик стоит на длину структуры, которая меняется в процессе цикла либо значения внутри меняются. Либо как ты пишешь в обратку делай, либо если длина не меняется, то счетчик закешируй

Не изменяй в foreach

При Remove элементы будут перемещены

Кирилл-Корнеев Автор вопроса

я перебираю, чтобы day++ сообщить всем объектам, а они по условию day > daysToEnd удаляются — ну че их помечать на удаление, а удалять позже?

Так

Похожие вопросы

Обсуждают сегодня

Короче я тут узнал полный пиздец Что кучу постов которые я создавал через posted Спустя время не могу редактировать и менять Мол телега возвращае ошибку Это реально так ...
inc.
13
Привет, сталкивался кто с такой ситуацией? У меня есть модальное окно Bootstrap, в нем кнопка закрытия: <button type="button" class="btn-close" data-bs-dismiss="modal" aria-...
Виталий
3
А если изначально бот работал так : есть сайт онлайн школы. У каждого ученика свой кабинет. Где он авторизуется по своим данным. И уже в кабинете, на самом сайте делает оплату...
Денис 💡 Фрилансер
13
что это и почему оно? executor.start_polling(bot, skip_updates=True, on_startup=on_startup, File "/usr/local/lib/python3.10/dist-packages/aiogram/utils/executor.py", line 4...
𐌍𐌄 ᕓ𐌄𐌓𐌌Ꝋ𐌓𐌄
2
Какой число последнее будет, если сказали от 1 до 10 взять все?
Misha Mikhail
5
А у тебя есть информация сколько сейчас использует твой бот?
Artem Stormageddon
4
Окрошка! На квасе или кефире или на пиве?!
Akcium Сергей
4
Забавно, но для тебя "этот" = "следующий" т.е этот год для тебя какой?
Magic
3
Кто-то юзал insomnia? Удобная штука ужас
𐌍𐌄 ᕓ𐌄𐌓𐌌Ꝋ𐌓𐌄
3
Создан плагин через artisan, миграций не будет, как его активировать в админке?
Point 111
2
Карта сайта