Recorriendo una lista de acciones
No puedo entender cómo recorrer unAction
lista. Cuando lo intento, termino con los valores iguales a la iteración anterior.
Aquí está el código (ejemplo 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();
Salida
ghi
ghi
ghi
Por qué siempre está seleccionando el elemento final enstrings
cuando realiza la acción?
¿Y cómo puedo lograr el resultado deseado que sería:
abc
def
ghi