在这个答案中,https: //stackoverflow.com/a/8649429/1497埃里克·利珀特(Eric Lippert)说:“仅供参考,我们很有可能在下一版C#中修复此问题;这对于开发人员来说是一个主要的痛点”, foreach循环使用该变量。
在下一个版本中,每次运行“ foreach”循环时,我们都会生成一个新的循环变量,而不是每次都关闭相同的变量。这是一个“突破性的”更改,但是在大多数情况下,“突破性”将得到解决而不是导致错误。
我还没有找到任何表明此更改已完成的信息。是否有任何迹象表明foreach循环将在C#5中工作?
当年话下
四季花海