07/08/27 22:04:22
>>353
>デフォルトで変数を作ってコピーする、foreachのような実装になってれば
いやそう書くとまた誤解の元だから。
別のこと言ってるんだろうけど読者は下の結果に絶望する。
var actionList = new List<Action>();
foreach (var i in Enumerable.Range(0,10))
{
int j = i;
actionList.Add(delegate() { Console.WriteLine("i={0}, j={1}", i, j); });
}
foreach (var f in actionList) f();
結果
i=9, j=0
i=9, j=1
i=9, j=2
i=9, j=3
i=9, j=4
i=9, j=5
i=9, j=6
i=9, j=7
i=9, j=8
i=9, j=9