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