Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Где найти старый компилятор для C# 4.0

15.03.19 20:24
Re: Где найти старый компилятор для C# 4.0
 
MrSanders старожил
в ответ AlexNek 15.03.19 19:04

Эт феерия какая-то. Т.е. они делали closure (замыкание) по значениям, не ссылкам, но "соптимизировали" его, типа а чо, не меняется же ничего, переменные всё те же, можно новый не создавать. Здорово, память сэкономили, но блин, ведь значения поменялись, а closure у них по значениям, а?

Я так понял что в 5-м микрософт поправил поведение в циклах. А что он сейчас скомпилирует если написать (без цикла)

int i = 1;
actions.Add(() => Console.WriteLine(i));
i = 2;
actions.Add(() => Console.WriteLine(i));

Опять один closure (по значениям!) в котором будет только последняя 2-ка висеть и при отработке Action-ов выдаст нам "2 2"?

 

Перейти на