Есть вот такой кусок кода:
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. Я не понимаю почему это происходит.