I have the following code snippet in C#:
var actions = new List<Func<int>>(); IEnumerable<int> values = new List<int> { 1, 2, 3 }; foreach (int value in values) { actions.Add(() => value * value); } foreach (var action in actions) { Console.WriteLine(action()); ; } Console.ReadLine(); It's running fine, but I am not getting the result I expect.
Actual result
9,9,9
Expected result
1,4,9
Why am I not getting the result I expect?