- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
var actions = new List<Action>();
foreach (var i in Enumerable.Range(1, 3))
{
actions.Add(() => Console.WriteLine(i));
}
foreach (var action in actions)
{
action();
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+140
var actions = new List<Action>();
foreach (var i in Enumerable.Range(1, 3))
{
actions.Add(() => Console.WriteLine(i));
}
foreach (var action in actions)
{
action();
}
Внезапно:
http://ideone.com/RaiHr
http://ideone.com/EMQBA
Steve_Brown 17.10.2012 15:59 # +4
Блин, вот было понятно, просто так - это значение, * - указатель, & - ссылка. Нет, взяли, упростили... А то указатели, видите ли, это слишком сложно.
roman-kashitsyn 17.10.2012 16:06 # +2
bormand 17.10.2012 17:18 # 0
vse_govno 17.10.2012 17:01 # 0
absolut 17.10.2012 17:02 # 0
vse_govno 17.10.2012 17:06 # +2
http://www.rsdn.ru/article/csharp/Closure_in_Csharp.xml
vse_govno 17.10.2012 17:07 # +2
http://habrahabr.ru/post/141270/
wvxvw 17.10.2012 17:42 # +5
phoenixx 17.10.2012 22:14 # 0
ЗЫ. это типичный пример замыкания\closure
LispGovno 17.10.2012 22:22 # 0
phoenixx 17.10.2012 22:38 # 0
Lennis 19.10.2012 19:04 # +1