Коллекция изменена, операция перечисления может не выполняться

Простой ответ: нет, это невозможно

-3
задан mjwills 19 January 2019 в 21:39
поделиться

2 ответа

Ваша проблема начинается со следующего кода:

List<Entity> list = new DomainModelDbContext().books.ToList();

foreach (var l in list)
{
    list.Add(l); // Runtime error
}

Вообще говоря, вы не можете добавлять или удалять элементы в коллекции или словаре, повторяя их, используя цикл foreach. Эта проблема не будет возникать, если вы используете циклы другого типа, такие как for (...), while и т. Д.

0
ответ дан tanveery 19 January 2019 в 21:39
поделиться

Я только что запустил ваш код, он не имеет ничего общего с добавлением или удалением ключа. Вы получаете ошибку, когда заполняете свой объект списка

List<Entity> list = db.books.ToList();
foreach(var l in list)
{
   list.Add(l);
}

у вас уже есть список книг, так какова цель цикла foreach?

Вы получаете ошибку, потому что добавляете новые объекты при перечислении по списку, это недопустимо, потому что это будет инфинитив

0
ответ дан Aldert 19 January 2019 в 21:39
поделиться
Другие вопросы по тегам:

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