Новая функция в С#/.NET 4.0 состоит в том, что вы можете изменить свой список в foreach
без получения исключения. См. Запись в блоге Пола Джексона Интересный побочный эффект Concurrency: удаление элементов из коллекции при перечислении для получения информации об этом изменении.
Каков наилучший способ сделать следующее?
foreach(var item in Enumerable)
{
foreach(var item2 in item.Enumerable)
{
item.Add(new item2)
}
}
Обычно я использую IList
в качестве кеша/буфера до конца foreach
, но есть ли лучший способ?