foreach循环的内部好像不能给迭代的对象赋值啊,为什么?

sangsang28 sangsang28 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我初始化一个数组,然后赋值。下面几行代码会有编译错误:

int[] array = new int[10];
foreach( int i in array )
{
i = 8;
}

报错:error CS1656: Cannot assign to 'i' because it is a 'foreach iteration variable'
如果我修改i的类型为ref int i,那么编译错误就变成了一大堆东西:
error CS1031: Type expected
) expected
Embedded statement cannot be a declaration or labeled statement
; expected
Invalid expression term 'in'
; expected
; expected
Invalid expression term ')'
; expected

这是什么原因呢? 我的代码改怎么修改?

...全文
评论 6
收藏 已收藏
分享
返回顶部
sangsang28
C# 111,128 成员 642,536 内容