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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 邢凯 中级黑马   /  2014-8-5 09:12  /  1282 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 邢凯 于 2014-8-5 11:08 编辑

foreach  这个是怎么是用的啊,哪个视频里面有啊

评分

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

查看全部评分

9 个回复

倒序浏览
本帖最后由 许庭洲 于 2014-8-5 10:32 编辑

1. foreach语句格式:
    foreach(type identifier in expression)  embedded-statement
2.其中类型(type )和标示符(identifier )用来声明循环变量,表达式(expression)对应集合;
3.每执行一次内嵌语句,循环变量就依次取集合中的一个元素代入其中;
4.foreach语句中的expression必须是集合类型,如果该集合的元素类型与循环变量类型不一致,则必须有一个显示定义的从集合中的元素类型到循环变量元素类型的显示转换。
5.foreach和for的区别:for可以不逐个遍历,比如每隔一个遍历一个,或者可以从后向前遍历。
6.只能在foreach对集合进行读,而不应该写。

评分

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

查看全部评分

回复 使用道具 举报
本帖最后由 u010209195 于 2014-8-5 09:33 编辑
  1. int[] nArray = new int[100];
  2. // Use "foreach" to loop array
  3. foreach( int i in nArray )
  4. {
  5.   Console.WriteLine(i);
  6. }

  7. // Use "for" to loop array
  8. for( int i = 0; i < nArray.Length; i++ )
  9. {
  10.   Console.WriteLine(i);
  11. }
复制代码

能用foreach遍历访问象必须集合或数组等;都需要实现接口IEnumerator或声明 GetEnumerator 类型
语法:foreach(type objName in collection/Array)
           {   
               //需要对objName的操作
           }
回复 使用道具 举报
许庭洲 发表于 2014-8-5 09:26
1. foreach语句格式:
    foreach(type identifier in expression)  embedded-statement
2.其中类型(type ) ...

那大哥,这个foreach 和FOR循环有什么区别吗,我该什么时候使用foreach 这个呢
回复 使用道具 举报
u010209195 发表于 2014-8-5 09:28
能用foreach遍历访问象必须集合或数组等;都需要实现接口IEnumerator或声明 GetEnumerator 类型
语法:for ...

我想知道应该在什么情况下使用foreach  这个
回复 使用道具 举报
foreach好像是在循环遍历里面来使用, (数组循环遍历)
回复 使用道具 举报
邢凯 发表于 2014-8-5 10:11
那大哥,这个foreach 和FOR循环有什么区别吗,我该什么时候使用foreach 这个呢 ...

请看第5条和第6条说明
5.foreach和for的区别:for可以不逐个遍历,比如每隔一个遍历一个,或者可以从后向前遍历。
6.只能在foreach对集合进行读,而不应该写。
回复 使用道具 举报
int[] arr={2,4,5,6};
foreach(int i in arr)
{
   Console.WriteLine(i);
}

等同于

            int[] arr = { 2, 4, 5, 6 };
            int k = arr.Length;
            int[] yy=new int[k];
            for (int i = 0; i < arr.Length; i++)
            {
                yy[i] = arr[i];
                Console.WriteLine(yy[i]);
            }

//两者区别:就是代码foreach较简洁,因为他把for中的判断和自增都封装起来了。
回复 使用道具 举报
复古。先生 发表于 2014-8-5 10:55
int[] arr={2,4,5,6};
foreach(int i in arr)
{

哦哦,有点明白了。谢谢
回复 使用道具 举报
邢凯 发表于 2014-8-5 11:08
哦哦,有点明白了。谢谢

慢慢来哦,急不了的,基础要扎实点。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马