A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© cmcm2014 中级黑马   /  2014-4-1 13:30  /  1708 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

想请问下,for循环和foreach都可以遍历,但有哪些区别呢?并且重点是2者谁的效率高!!

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

4 个回复

倒序浏览
for 你先要给初值,末值和步长foreach 不需要事先给定初值,末值和步长,他是自动遍历给定的集合体的所有值,
回复 使用道具 举报
for 可以自己设定循环次数  
可是 foreach 必须从头到尾都遍历  
所以for的效率更高点。
回复 使用道具 举报
for 语句指定一个计数器变量、一个测试条件以及一个更新计数器的操作。 在每次循环迭代之前,先测试条件。 如果测试成功,则执行循环内的代码。 如果测试失败,则不执行循环内的代码,程序继续执行紧靠循环后面的第一行代码。 在循环执行后和下一次迭代开始之前,先更新计数器变量。
For循环用在已知的循环次数的条件下。

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

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

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
for可读可写,foreach只能读取
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马