Где найти старый компилятор для C# 4.0
где в вашем коде использование closure?
Вот
var closure = new Closure();
....
closure.i = i;
var action = new Action(closure.Action);
actions.Add(action);
Можно было оставить DisplayClass, но это тоже ничего не меняет ведь компайлер "разворачивает" лямбду в подобный код.
Понятно, что вы смотрите на это с какой то другой стороны. Но пока не могу догнать с какой.
Я имел в виду следующее:
так вроде никак не получится.
15.8.4 The foreach statement
The foreach statement enumerates the elements of a collection, executing an embedded statement for each
element of the collection.
foreach-statement:
foreach ( type identifier in expression ) embedded-statement
я думал что так
foreach(int j in ...) {j=0; ...}
В С# 7.3 вроде поведение как то изменили, но еще не игрался
Почему это?
Отчего в Яве так не знаю. В шарпе foreach коппайлер "переписывает". Да и стандарт не позволяет The iteration variable corresponds to a read-only local variable https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web...
Вот если тут коммент убрать так даже компилится не будет
https://paiza.io/projects/tEMtl6riuHO1bb1LK97ejQ?language=...