Захваченное замыкание (переменная цикла) в C # 5.0

Это работает нормально (значит, как и ожидалось) в C # 5.0:

var actions = new List();
foreach (var i in Enumerable.Range(0, 10))
{
    actions.Add(() => Console.WriteLine(i));
}
foreach (var act in actions) act();

Печатает от 0 до 9. Но этот показывает 10 в 10 раз:

var actions = new List();
for (var i = 0; i < 10; i++)
{
    actions.Add(() => Console.WriteLine(i));
}
foreach (var act in actions) act();

Вопрос: это была проблема, которая была у нас в версиях C # до 5.0; поэтому мы должны были использовать местозаполнитель цикла для замыкания, и это 'исправлено сейчас - в C # 5.0 - в "для каждого" петли. Но не вза" петля!

Какова причина этого (не решение проблемы дляfor петли тоже)

Ответы на вопрос(1)

Ваш ответ на вопрос