for和foreach,for和foreach遍历数组
foreach和for循环的区别
for循环
for循环,通过下标,对循环中的代码反复执行,功能强大,可以通过index取得元素。在处理比较复杂的处理的时候较为方便。
foreach循环
foreach,从头到尾,对于集合中的对象遍历。适用于简单的遍历。foreach使用的时候,会锁定集合的对象,期间不能进行修改。
使用的选择
foreach相对于for循环,代码减少了,但是foreach依赖IEnumerable。在运行的时候效率低于for循环。当然了,在处理不确定循环次数的循环,或者循环次数需要计算的情况下。使用foreach比较方便。而且foreach的代码经过编译系统的代码优化后,和for循环的循环类似。
可以说,foreach语句是for语句的特殊简化版本,在遍历数组、集合方面,foreach为开发人员提供了极大的方便。在复杂的循环设计时,还是应该使用for循环更加的灵活。
for和foreach的区别
for和foreach有本质的区别
foreach的具体过程是由目标对象控制的
所以并非集合内容更改了就不可以使用foreach
而是array和collection对象如此实现了它而已
你却可以完全按照自己的想法去实现这一过程
也许你可以去翻一下gof的visitor模式,foreach看起来就是它的简化版本
我们应该把foreach当作一种设计模式而不是简单的一个循环语句去理解
目前c#里的foreach是以ienumerable的方式去实现,这只是保留com的实现方式,这种方式我认为其实不太便于理解
我想如果存在一个iforeachable其成员为foreach(..),这样可能更能让人容易明白

for循环与forEach循环的区别
for循环与forEach循环的区别:
1.写法不同:
2.关于中断循环
for循环是可以中断循环(利用break语句或return语句),但forEach不可以中断循环。
3.关于扩展js原生的Array类
使用for循环时,打印每个value值,并不会打印出来扩展js原生的Array类(譬如下图),但使用forEach循环,就可以打印出来。
4.关于循环中包含有异步语句
这条区别是我自己根据实践这么认为的,并不是书中标准语言,只可借鉴。
根据上图,可以看出for循环中包含异步语句时,初次遍历,进入到最里面的异步函数时,打印k,for循环已经循环完了,所以这个时候你打印的任何东西都是数组的最后一项。但是利用forEach循环,打印出来的就是数组中的每一项,不管异不异步。这个区别就是我这个需求中遇到的坑。以后记住了!!!!!!
for和foreach,究竟哪个快
foreach更快。
foreach 不需要条件,他是自动遍历给定的集合体的所有值,不需要考虑长度。
for每次从$i开始,每次循环都需要判断变量$i是否小于count,比较是耗时的。
foreach与for的区别
1.如果只是遍历集合或者数组,用foreach好些,快些。
2.如果对集合中的值进行修改,就要用for循环了。其实foreach的内部原理其实也是Iterator,但它不能像Iterator一样可以人为的控制,而且也不能调用iterator.remove();更不能使用下标来访问每个元素,所以不能用于增加,删除等复杂的操作。举个例子:
for(String aid:list){
if(aid.equals("aa")){
list.remove(aid); //这行会报错,不能修改list的长度
}
}
所以foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句。
for 和foreach分别用于什么场合?
for语句在循环语句中有着重要的位置,首先它计算一个初始化序列,然后当某个条件为真时,重复执行嵌套语句并计算一个迭代表达式序列;如果为 False,则退出 for循环, for语句常用于遍历数组集合。
foreach循环专门用来遍历数组和集合的元素,foreach的工作原理是逐个枚举出数组或集合中的每一个元素,只要枚举一个元素就执行一次语句块中的内容,在使用 foreach变量循环的过程中要注意不可以更改遍历中的集合。
扩展资料:
在遍历集合或数组时,如果不使用 for语句,那么 foreach语句是比较好的选择。 foreach语句可以迅速遍历集合或数组,省去 for语句中设置循环起点和循环条件的过程。所以,遍历数组或集合应该优先考虑 foreach语句。
foreach(int index,ref ival;arr){}第一个变量表示数组arr的索引 ival表示数组下标为index对应的值 加了ref关键字表示ival与数组的值相关联(ival改变 数组值也相应改变...类似于C++的引用)。
参考资料来源:
百度百科-foreach
百度百科-for循环