社区
C#
帖子详情
foreach内部为什么不能写入数据?
mayi1989826
2008-12-10 06:27:15
foreach循环内部,我们只能读取数据,而不能写入,为什么?希望大家帮我详细解释一下。
...全文
242
7
打赏
收藏
foreach内部为什么不能写入数据?
foreach循环内部,我们只能读取数据,而不能写入,为什么?希望大家帮我详细解释一下。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhaozhijun0207
2008-12-10
打赏
举报
回复
代码贴出来看看嘛
传说每天在CSDN吐口痰即可获得10分可用分!
net5i
2008-12-10
打赏
举报
回复
是可以写入数据的,但不能修改枚举器里的内容
如果需要修改,搂主可以使用while或者for的另一种形式:
for(int index = 0;;index++)
{
if(条件满足)
退出循环;
}
lchh0917
2008-12-10
打赏
举报
回复
foreach是高效的遍历数组方法,如果要灵活写数据的话,还是用for方法比较好
Yeqw1985
2008-12-10
打赏
举报
回复
楼上正解
vrhero
2008-12-10
打赏
举报
回复
因为更改当前枚举对象可能导致整个枚举集合发生变化,从而产生不可预料的后果...但是可以更改枚举对象的成员...
feiyun0112
2008-12-10
打赏
举报
回复
不会把?你的代码?
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)
http://feiyun0112.cnblogs.com/
GTX280
2008-12-10
打赏
举报
回复
可以写入啊,只是不能将游标改变而已
Java集合为什么
不能
使用
foreach
删除元素
本文解释了Java中
foreach
循环
不能
在遍历ArrayList时进行添加或删除元素的原因,涉及到迭代器模式和modCount字段,因为这种操作可能导致ConcurrentModificationException异常。
forEach
究竟能
不能
改变原数组?
本文探讨了JavaScript中使用
forEach
方法试图修改数组时遇到的问题。尽管在
forEach
循环
内部
可以改变数组元素的值,但原始数组并不会更新。这是因为对于基本
数据
类型,
forEach
无法更改数组项的值,而对于引用
数据
类型,虽然可以修改对象的属性,但
不能
替换整个对象。要真正修改数组,需要通过索引来操作。总结来说,尽量避免在
forEach
中改变数组,推荐使用for循环或其他方法来达到目的。
字节面试官:
forEach
为什么
不能
被中断?
本文围绕
forEach
不能
被中断的问题展开。阐述了其因设计哲学和语法限制无法中断,介绍了
forEach
的本质、特点与限制,分析了尝试中断的常见误区,给出了正确替代方案,还探讨了设计哲学,最后提供了最佳实践建议。
【原理】为什么
foreach
不能
添加和删除元素
本文解释了
foreach
不能
添加和删除元素的原因,核心机制是modCount和快速失败机制。当使用增强for循环遍历ArrayList时,若集合结构被修改,modCount改变,迭代器会抛出ConcurrentModificationException。还介绍了安全添加/删除元素的方法,如使用Iterator、先收集后添加、使用CopyOnWriteArrayList。
C#
111,129
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章