我只是好奇:下面的代码将无法编译,因为我们无法修改foreach循环迭代变量:
foreach (var item in MyObjectList)
{
item = Value;
}
但是以下代码将会编译并运行:
foreach (var item in MyObjectList)
{
item.Value = Value;
}
为什么第一个无效,而第二个可以在底部执行相同的操作(我在寻找正确的英语表达方式,但我不记得它是什么。在底部...?^^)
this = value
? - jv42