Well, you understood Eric and John correctly, but you missed one part of your code:
"Hello "+ i++ +" "+v;
^^^
this part increments i for each call
So basically, what happens is like this:
- 3 , ,
- 3
- ,
i v, i - ,
i v, i, , 4 , 3 - ..
, , , , :
for(int v=0,i=0;v<3;v++,i++)
{
int ii = i, vv = v;
funcs.Add( new Func<string>(delegate(){return "Hello "+ ii++ +" "+vv;}) );
}
0, 0, 1, 1 2, 2. ii, , ( .) Thanks @ferosekhanj