我试图理解为什么下面的程序会给出它所做的输出。我知道这与参考和价值观有关,但我既不知道术语,也不知道去哪里了解更多信息。
for (int x = 0; x < 2; x++)
{
int y = x;
new Thread(new ThreadStart(() =>
{
Thread.Sleep(100);
Console.WriteLine("Thread sees x = {0}, y = {1}", x, y);
})).Start();
}
Thread.Sleep(1000);
输出:
Thread sees x = 2, y = 0
Thread sees x = 2, y = 1
非常感谢解释这类事情的参考资料。