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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 不是炎亚纶 中级黑马   /  2013-11-11 15:38  /  2092 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 不是炎亚纶 于 2013-11-11 17:40 编辑

听说foreach的效率比较高,他们都各自用于什么情况呢?

评分

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

查看全部评分

5 个回复

正序浏览
只有实现了接口IEnumerator或被声明 GetEnumerator 方法的类型,才能使用foreach遍历。其他的楼上分条说的很详细了。
回复 使用道具 举报
菜鸟给你经验吧

如果你只是为了遍历数组 获取或者输出 数组里面的值 用foreach

如果你要把数组里面的值遍历 赋值给另外的 数组 那么就要用到I++ 那最好用for 一步到位
回复 使用道具 举报
1.for 你先要给3条件,
  foreach 不需要条件,他是自动遍历给定的集合体的所有值
2.foreach循环不能为循环中的变量赋值.
   foreach要求所有元素的类型相同,它不需要知道集合总共有多少个。。
3.性能方面:
foreach只是for一个封装而已,内部调用的for
foreach更优雅一些.

评分

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

查看全部评分

回复 使用道具 举报 1 0
用于的情况:foreach是比如要你判断这个数组或者对象集合中是否都是数字啊,就是对于每个元素进行操作时候用。而for就是一个循环,不针对数组或者对象集合里的元素。
这是我自己的理解。
回复 使用道具 举报
foreach也是相当于一个循环,foreach 语句为数组或对象集合中的每个元素重复一个嵌入语句组,房屋内集合或者是数组中的每一个元素。
例如:
int[] arr = new int[] { 0, 1, 2, 3, 4 };
foreach (int i in arr)
{
    Console.Write(i);
}
输出的结果是01234.
这个语句的意思就是把这个数组中的每一个元素都放到i中,让后执行下面大括号里的语句,知道最后一个元素

评分

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

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马