相关疑难解决方法(0)

为什么我们不能分配foreach迭代变量,而我们可以使用访问器完全修改它?

我只是对此感到好奇:以下代码无法编译,因为我们无法修改foreach迭代变量:

        foreach (var item in MyObjectList)
        {
            item = Value;
        }
Run Code Online (Sandbox Code Playgroud)

但是以下将编译并运行:

        foreach (var item in MyObjectList)
        {
            item.Value = Value;
        }
Run Code Online (Sandbox Code Playgroud)

为什么第一个无效,而第二个可以在下面做同样的事情(我正在为此寻找正确的英语表达,但我不记得了.在...下面??^^)

c# iteration foreach accessor

50
推荐指数
5
解决办法
6万
查看次数

标签 统计

accessor ×1

c# ×1

foreach ×1

iteration ×1