黑马程序员技术交流社区

标题: for循环和foreach的区别及效率 [打印本页]

作者: cmcm2014    时间: 2014-4-1 13:30
标题: for循环和foreach的区别及效率
想请问下,for循环和foreach都可以遍历,但有哪些区别呢?并且重点是2者谁的效率高!!

作者: 邓江红    时间: 2014-4-1 13:34
for 你先要给初值,末值和步长foreach 不需要事先给定初值,末值和步长,他是自动遍历给定的集合体的所有值,
作者: 黒■色    时间: 2014-4-1 14:42
for 可以自己设定循环次数  
可是 foreach 必须从头到尾都遍历  
所以for的效率更高点。
作者: Max_骏    时间: 2014-4-1 16:50
for 语句指定一个计数器变量、一个测试条件以及一个更新计数器的操作。 在每次循环迭代之前,先测试条件。 如果测试成功,则执行循环内的代码。 如果测试失败,则不执行循环内的代码,程序继续执行紧靠循环后面的第一行代码。 在循环执行后和下一次迭代开始之前,先更新计数器变量。
For循环用在已知的循环次数的条件下。

foreach 语句对实现 System.Collections.IEnumerable 或 System.Collections.Generic.IEnumerable<T> 接口的数组或对象集合中的每个元素重复一组嵌入式语句。 foreach 语句用于循环访问集合,以获取您需要的信息,但不能用于在源集合中添加或移除项,否则可能产生不可预知的副作用。 如果需要在源集合中添加或移除项,请使用 for 循环。

这两种循环语句用在不同环境下,对应具体的循环条件效率才会高。

作者: 惊风侠    时间: 2014-4-4 19:35
for可读可写,foreach只能读取




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2