using System;
using static System.Console;
using System.Collections.Generic;
public class Program {
public static void Main() {
var acoes = new List<Func<int>>();
var a = 0;
for (var i = 0; i < 5; i++) {
a = i;
acoes.Add(() => a * 2);
}
foreach (var acao in acoes) WriteLine(acao());
acoes = new List<Func<int>>();
for (var i = 0; i < 5; i++) {
int b = i;
acoes.Add(() => b * 2);
}
foreach (var acao in acoes) WriteLine(acao());
}
}
//https://pt.stackoverflow.com/q/170393/101
dXNpbmcgU3lzdGVtOwp1c2luZyBzdGF0aWMgU3lzdGVtLkNvbnNvbGU7CnVzaW5nIFN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljOwoJCQkJCQpwdWJsaWMgY2xhc3MgUHJvZ3JhbSB7CglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpIHsKCQl2YXIgYWNvZXMgPSBuZXcgTGlzdDxGdW5jPGludD4+KCk7CgkJdmFyIGEgPSAwOwoJCWZvciAodmFyIGkgPSAwOyBpIDwgNTsgaSsrKSB7CgkJCWEgPSBpOwoJCQlhY29lcy5BZGQoKCkgPT4gYSAqIDIpOwoJCX0KCQlmb3JlYWNoICh2YXIgYWNhbyBpbiBhY29lcykgV3JpdGVMaW5lKGFjYW8oKSk7CgkJYWNvZXMgPSBuZXcgTGlzdDxGdW5jPGludD4+KCk7CgkJZm9yICh2YXIgaSA9IDA7IGkgPCA1OyBpKyspIHsKCQkJaW50IGIgPSBpOwoJCQlhY29lcy5BZGQoKCkgPT4gYiAqIDIpOwoJCX0KCQlmb3JlYWNoICh2YXIgYWNhbyBpbiBhY29lcykgV3JpdGVMaW5lKGFjYW8oKSk7Cgl9Cn0KCi8vaHR0cHM6Ly9wdC5zdGFja292ZXJmbG93LmNvbS9xLzE3MDM5My8xMDE=