次の例では、1秒後に数値「5」を5回出力します。
for (int i = 0; i < 5; ++i)
{
EasyTimer.SetTimeout(() => Console.WriteLine(i), 1000);
}
EasyTime.SetTimeout
( JavaScriptのように動作すると仮定しますsetTimeout
)
i
コールバックの値を記憶し続けるように、クロージャを作成するにはどうすればよいですか?
JavaScriptでそれを行う方法は知っていますが、C#でも同じようにできるかどうかはわかりません。