Here's some code using the anonymous method feature of C# 2. What does it do?
using System.Collections.Generic;
class Test
{
delegate void Printer();
static void Main()
{
List
for (int i=0; i < 10; i++)
{
printers.Add(delegate { Console.WriteLine(i); });
}
foreach (Printer printer in printers)
{
printer();
}
}
}

Akkiraju IvaturiPosted Sep 7, 2012, 11:22 PM
ivariable here, and its value changes on each iteration of the loop. The anonymous methods capture the variable itself rather than its value at the point of creation - so the result is 10 printed ten times!