Я знаю, что не могу изменить коллекцию во время итерации по ней.
Обычно я делаю копию коллекции, которую хочу перебрать, затем перебираю копию, чтобы избежать ошибок.
Моя программа; однако, я делаю множество быстрых изменений в коллекции, копию которой пытаюсь создать.
Может ли быть ошибка, потому что я делаю копию во время изменения родительской коллекции?
Я знаю, что ConcurrentDictionary предоставляет какой-то механизм блокировки для кросс-потоков. Есть ли что-то подобное, что я могу использовать, чтобы предотвратить эту ошибку?
// Original collection:
Dictionary<string, Enemy> Dict_Enemies = new Dictionary<string, Enemy>();
// Copy of original collection: (this line throws the exception)
Dictionary<string, Enemy> Dict_Enemies_Copy = new Dictionary<string, Enemy>(Dict_Enemies);