黑马程序员技术交流社区

标题: foreach和for都各适用于什么情况 ? [打印本页]

作者: 不是炎亚纶    时间: 2013-11-11 15:38
标题: foreach和for都各适用于什么情况 ?
本帖最后由 不是炎亚纶 于 2013-11-11 17:40 编辑

听说foreach的效率比较高,他们都各自用于什么情况呢?
作者: 奔跑的胖子    时间: 2013-11-11 16:02
foreach也是相当于一个循环,foreach 语句为数组或对象集合中的每个元素重复一个嵌入语句组,房屋内集合或者是数组中的每一个元素。
例如:
int[] arr = new int[] { 0, 1, 2, 3, 4 };
foreach (int i in arr)
{
    Console.Write(i);
}
输出的结果是01234.
这个语句的意思就是把这个数组中的每一个元素都放到i中,让后执行下面大括号里的语句,知道最后一个元素
作者: 奔跑的胖子    时间: 2013-11-11 16:04
用于的情况:foreach是比如要你判断这个数组或者对象集合中是否都是数字啊,就是对于每个元素进行操作时候用。而for就是一个循环,不针对数组或者对象集合里的元素。
这是我自己的理解。
作者: Goes_By    时间: 2013-11-11 16:51
1.for 你先要给3条件,
  foreach 不需要条件,他是自动遍历给定的集合体的所有值
2.foreach循环不能为循环中的变量赋值.
   foreach要求所有元素的类型相同,它不需要知道集合总共有多少个。。
3.性能方面:
foreach只是for一个封装而已,内部调用的for
foreach更优雅一些.
作者: Sayme    时间: 2013-11-12 09:38
菜鸟给你经验吧

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

如果你要把数组里面的值遍历 赋值给另外的 数组 那么就要用到I++ 那最好用for 一步到位
作者: 黑马—严守卫    时间: 2013-11-23 12:50
只有实现了接口IEnumerator或被声明 GetEnumerator 方法的类型,才能使用foreach遍历。其他的楼上分条说的很详细了。




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