Вот что я пытаюсь сделать:
private readonly IDictionary<float, ICollection<IGameObjectController>> layers;
foreach (ICollection<IGameObjectController> layerSet in layers.Values)
{
foreach (IGameObjectController controller in layerSet)
{
if (controller.Model.DefinedInVariant)
{
layerSet.Remove(controller);
}
}
}
Конечно, это не работает, потому что это вызовет исключение одновременной модификации. (Есть ли эквивалентная операция безопасного удаления Java на некоторых итераторах?) Как я могу сделать это правильно или с помощью LINQ?