Looping através de uma lista de ações
Não consigo entender como percorrer umAction
Lista. Quando tento, acabo com os valores iguais à iteração anterio
Aqui está o código (exemplo simplificado):
string[] strings = { "abc", "def", "ghi" };
var actions = new List<Action>();
foreach (string str in strings)
actions.Add(new Action(() => { Trace.WriteLine(str); }));
foreach (var action in actions)
action();
Resultado
ghi
ghi
ghi
Por que ele está sempre selecionando o elemento final emstrings
quando executa a ação?
E como posso obter a saída desejada, que seria:
abc
def
ghi