次のプログラムが出力を提供する理由を理解しようとしています。私はそれが参照や値と関係があることを知っていますが、用語も、どこに行けばもっと学ぶべきかわかりません。
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
この種のことを説明する参考資料をいただければ幸いです。