其实这俩我还是比较倾向于使用for,因为习惯了!不知道哪个效率能高点!

解决方案 »

  1.   

    应该是foreach 不过有些情况还是必须用到for的 比如for{}里面需要用到下标什么的
      

  2.   

    两个效率一样的,可以做一个试验看看,时间差不多,foreach的实现原理就是用的for
    但是对于开发人员来说,foreach代码比较少,除了某些必须要用下标的情况一般还是foreach比较方便的
      

  3.   

    foreach,好像必须实现接口IEnumerator才可以用的吧。
      

  4.   

    foreach用于遍历实现IEnumerable接口的集合的元素,你可能无法知道当前元素在集合中是第几个
    for就没有这个限制,各有优缺点
      

  5.   

    foreach用来遍历未知数目的元素,如在一个页面的控件
      

  6.   

    LS误导,,,,遍历为止数目???呵呵!!!!有专门的length属性或者count属性,,,难道是未知?
    string[] strNames = new string[] { "张三", "李四" };
            foreach (string strName in strNames)
            {
                strName += "Num1";//错误
            }        for (int i = 0; i < strNames.Length; i++)
            {
                strNames[i] += "num1";
            }
    从以上代码你能发现几点就算几点吧!!提示两点:foreach遍历的时候该元素是只读的,遍历不需要其长度!!!,既然是只读,速度肯定比for快!
      

  7.   

    foreach 比for 快,少个i++的时间
      

  8.   

    后者更快,因为会有编译优化。
    忘记是那本书上讨论过,有的时候foreach比C++/C的循环结构还要快。
      

  9.   

    foreach 用来遍厉实现IEroumable接口的集合 每次返回的就是这个集合中的一个元素 当然有的时候用for 也可以实现
    for 是单纯的用来控制迭代的。你可以把foreach看成是for 的一个子集举个例子:计算 1+2+...+100
    可以用for 却不可以用foreach
      

  10.   

    foreach快些,尤其是循环对象和datarow时,如果光是数字循环没什么区别.
    i like foreach
      

  11.   

    对于这两个的说法是众说纷纭,其实是个有利弊,只要合适的时候选择合适的就可以了,楼主可以看一下这篇文章,这篇文章重视的是foreach。
    当然也有文章说for效率更高。
    http://www.cnblogs.com/yzxchoice/archive/2007/12/15/995949.html
      

  12.   

    支持6楼这个,至于效率,一般哪个合适就用哪个吧
    我一般也都是使用foreach,但是需要计数时就用for
    比如:foreach(DataRow dr in dtData.Rows){
    .......
    }// 需要计数时
    for(int i=0;i<dtData.Rows.Count;i++){
    DataRow dr = dtData.Rows[i]; 
    .......
    }
      

  13.   

    去看看《Effective C# 中文版 》条款11:优先采用foreach循环语句;里面很详细的说明了两者的区别;
    前面也有人说了,性能的话是foreach快,但是为什么快的解释都是错误的或者说的不完整
      

  14.   

    foreach的效率明显高于 for 
    for  是一行一行的读取,而foreach是一次性读取出来。
      

  15.   

    foreach是范性的,foreach比for快10倍
      

  16.   

    使用foreach的集合必须实现IEnumerator,IEnumerator中有 moveNext方法,去找到下个对象。
    效率不确定
      

  17.   

    那也不一定 for里也不一定就有到类型转换 啊?
      

  18.   

    本来就是啊嘿嘿...
    我还是喜欢用for
      

  19.   

    foreach 更面向对象一些 for 带有一定的逻辑性质!要是循环集合的话还是foreach好吧,其他的循环还是用for吧 个人意见!
      

  20.   

    如果foreach与for都能实现的功能情况下,foreach效率高于for
      

  21.   

    看你怎么用了   如果  需要对队列前后座操作那么  就用for
    如果  矩阵单元素平均操作foreach  或者each