Задать вопрос
@Mootfrost
C#, C++, JS, Python

Collection was modified, но она не менялась?

Есть вот такой кусок кода:
static void Cast(SessionInstance session)
        {
            SessionInstance copiedSession = session;  // Copy to prevent conflicts
            string message = Serialize(copiedSession);
            foreach (var player in copiedSession.players)
            {
                Send(message, player.ClientSocket);
            }
        }

        public static string Serialize(SessionInstance session)
        {
            return JsonConvert.SerializeObject(session);
        }

Я копирую экземпляр класса session чтобы другой поток его не изменил. Но все равно то на сериализации, то на foreach вылетает ошибка collection was modified. Я не понимаю почему это происходит.
  • Вопрос задан
  • 61 просмотр
Подписаться 1 Простой Комментировать
Решения вопроса 1
@d-stream
Готовые решения - не подаю, но...
А не является ли SessionInstance ссылочным типом со всеми нюансами копирования ссылки, а не объекта?
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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