社区
C#
帖子详情
foreach内部为什么不能写入数据?
mayi1989826
2008-12-10 06:27:15
foreach循环内部,我们只能读取数据,而不能写入,为什么?希望大家帮我详细解释一下。
...全文
257
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
删除元素
相信各位程序猿在开发的过程中都用过
foreach
循环,简单快捷的遍历集合或者数组,但是在通过
foreach
进行集合操作的时候就不可以了,这是为什么?这里先把问题提出来,接着往下看。
forEach
究竟能
不能
改变原数组?
forEach
究竟能
不能
改变原数组? 为什么使用
forEach
改变了数组中的某个值之后,数组却还是原模原样?让我们一起来试一试吧。 首先,准备一个简单的数字数组,改变了num的值之后,数组没有变化。 //数组-基本
数据
类型 let array = [1,2,3,4]; array.
forEach
(num => { if(num === 4){ num = 5 } }) console.log(array) //[1,2,3,4] array.forEa
字节面试官:
forEach
为什么
不能
被中断?
设计哲学:
forEach
是函数式编程的体现,强调声明式和不可变性语法限制:break/continue 只能在循环结构中使用,
不能
在函数中使用一致性考虑:保持 API 的简洁和可预测性需要中断时,选择forfor...ofsomeeveryfind等方法
forEach
适用于需要对每个元素执行操作且不需要中断的场景。
【原理】为什么
foreach
不能
添加和删除元素
foreach
foreach
添加元素核心机制:modCount 和快速失败(fail-fast)为什么会抛出异常为什么使用迭代器进行删除如何安全地在遍历时添加/删除?方案1:使用 Iterator方案2:先收集,后添加方案3:使用 CopyOnWriteArrayList(适合读多写少场景)总结为什么要检查 expectedModCount 是否等于 list.modCount。,或者说为什么要这么做?
C#
111,128
社区成员
642,536
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章