>>335
forループ使うとミスリーディングだからもっと簡単に書いたら?

var actionList = new List<Action>();

int i=0;
actionList.Add(() => Console.WriteLine(i));

i=1;
actionList.Add(() => Console.WriteLine(i));

actionList.ForEach(action);

これの結果が 0 1 か 1 1 かどっちってことだよね?