黑马程序员技术交流社区

标题: foreach和for循环有哪些区别呀?什么情况下能用foreach循环? [打印本页]

作者: 幸福的彼岸    时间: 2014-1-15 10:11
标题: foreach和for循环有哪些区别呀?什么情况下能用foreach循环?
本帖最后由 幸福的彼岸 于 2014-1-15 14:53 编辑

foreach和for循环有哪些区别呀?什么情况下能用foreach循环?

作者: 念~    时间: 2014-1-15 10:30
foreach 就是步长为1的for的一个特殊实现,类似于数据库中的游标机制,只能够向前,不能够往后,用foreach也只能够遍历对象,如果要改变对象,需要手动的添加一条索引语句 i++

能用foreach遍历访问的对象需要实现 IEnumerable接口或声明 GetEnumerator 方法的类型。
在对数组,集合等进行遍历输出的时候 foreach比较好,
作者: 矫情    时间: 2014-1-15 12:51
for 你先要给初值,末值和步长

foreach 不需要事先给定初值,末值和步长,他是自动遍历给定的集合体的所有值
作者: 沈可    时间: 2014-1-15 13:59
foreach循环次数是由lines里面的元素个数决定的,foreach语句只能依次获取直到末尾,for语句可以自己选择循环多少次。
作者: 沈可    时间: 2014-1-15 14:44
本帖最后由 沈可 于 2014-1-15 14:47 编辑

for 你先要给初值,末值和步长foreach 不需要事先给定初值,末值和步长,他是自动遍历给定的集合体的所有值  
string[] a=new string[]{"a","b"};
for(i=0;i<a.length;i++)
{
      Response.write(a.ToString()) ;
}
foreach(string b in a)
{
      Response.write b ;
}
foreach遍历需要实现IEnumerable接口或声明GetEnumerator方法的类型

作者: 王忠杰    时间: 2014-1-18 13:45
for 你先要给初值,末值和步长
foreach 不需要事先给定初值,末值和步长,他是自动遍历给定的集合体的所有值
如下例子:
string[] a=new string[]{"a","b"}
for(i=0;i<a.length;i++)
{
Response.write(a[i].ToString())
}
foreach(string b in a)
{
Response.write b
}




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