4 回答
TA贡献1815条经验 获得超6个赞
int num[] = new int[]{2,3,4,5,6,7};
foreach(int item in num)
{
//一般的循环操作,这样的效率是比for要高得多,因为它是迭代循环
//PS:foreach适用场景:不能对集合num[]进行删除或者添加操作,否则会得不到期望的结果
}
for(int i=0;i<=num.Length;i++)
{
if(num[i]==5) //就删除集合num[]中的元素5
//这种对集合num[]进行的删除元素操作就是foreach不能代替的~~~
}
TA贡献1801条经验 获得超8个赞
foreach就是遍历,和for的效果都一样,不存在楼主说的“完全替代”这样的说法,只是一个写法问题而已。
我个人感觉,其实foreach写起来比for轻松点。
TA贡献1821条经验 获得超4个赞
我也认为foreach能实现的for都能实现,相反for能实现的foreach就未必能实现。早期的编程语言比如c,c++都没有foreach语句,它是在之后的发展出来的编程语言才出现的,比如C#、Java,说明了它既然存在必然有它存在的意义。时代在进步,思想也是,我觉得你不应该从for是不是能代替foreach这个角度看foreach语句,而是一个语句能解决什么问题的角度,我觉得本来foreach就相当于一种设计思想,针对集合这类数据进行遍历的情况,你用的时候,难道不觉得方便了许多,至于别的比如它们之间的区别,只是实现遍历条件上的差异而已。
foreach是针对集合类的遍历,比如泛型之类的也适用,不仅仅是针对数组
TA贡献1804条经验 获得超7个赞
循环都是可以相互代替的啊。
就像你while的语句,用for也完全可以写出来。
这里的foreach语句,看起来不是比for语句清晰很多么?也就是说的代码的美观程度,而且经过优化,现在foreach语句效率已经和for语句效率一样了。
- 4 回答
- 0 关注
- 930 浏览
添加回答
举报