为什么要用foreach来代替for

原创 2007年09月28日 23:13:00
看个例子,就可以看出原因

 
        public static void Main(string[] args)
        {
            Console.WriteLine(
"进入For循环");
            
for(int i=0;i<List().Count;i++){
                Console.WriteLine(i.ToString());
            }
            Console.WriteLine(
"进入Foreach循环");
            
foreach(int i in List()){
            Console.WriteLine(i.ToString());
            }
            Console.WriteLine(
"结束");
            Console.ReadKey(
true);
        }
        
static List<int> List(){
            List
<int> l = new List<int>();
            l.Add(
1);
            l.Add(
2);
            Console.WriteLine(
"添加一次函数");
            
return l;
            
        }


执行结果如下

进入For循环
添加一次函数
0
添加一次函数
1
添加一次函数
进入Foreach循环
添加一次函数
1
2
结束


要熄灯了,虽然程序小有问题,但基本能看出for一共执行了三次函数list而foreach只执行了必要的一次,由此可见,foreach效率比for要高上许多

从数据结构角度分析foreach效率比for循环高的原因

来源:http://www.2cto.com/kf/201610/555055.html 在PHP开发过程中,我们都知道在循环的时候,foreach效率比for高,但是为什么foreach效...
  • gb4215287
  • gb4215287
  • 2016年12月11日 23:00
  • 562

foreach和for循环的区别

for循环          for循环,通过下标,对循环中的代码反复执行,功能强大,可以通过index取得元素。在处理比较复杂的处理的时候较为方便。          foreach循环 ...
  • u013049248
  • u013049248
  • 2016年04月10日 16:25
  • 4186

foreach, 用还是不用,这是一个问题~

接触过C#循环的朋友,想来对foreach应该不会陌生,相比一般的for循环方式,foreach显得更加优雅简洁,Unity支持C#脚本,平日使用中数组列表什么的自然也会遇到不少,想来foreach定...
  • tkokof1
  • tkokof1
  • 2016年12月17日 11:55
  • 394

jsp中的c:foreach基本用法

在JSP的开发中,迭代是经常要使用到的操作。例如,逐行的显示查询的结果等。在早期的JSP中,通常使用Scriptlets来实现Iterator或者Enumeration对象的迭代输出。现在,通过JST...
  • u011260070
  • u011260070
  • 2015年10月27日 21:01
  • 3570

c# foreach 和for循环比较

循环语句是编程的基本语句,在C#中除了沿用C语言的循环语句外,还提供了foreach语句来实现循环。那么我要说的就是,在循环操作中尽量使用foreach语句来实现。   为了来更好地说明为什么要提...
  • u012788601
  • u012788601
  • 2016年04月25日 08:26
  • 2653

for和foreach那个效率更高?原因是什么?

写这篇文章的原因主要是在开发过程中突然有以下几个疑问,特抽出时间深度探究一下,以加深自身对php的理解。 1、作为一名phper,for和foreach循环遍历几乎每天都在使用,那么这两种遍历方式哪一...
  • bk_guo
  • bk_guo
  • 2017年06月16日 10:47
  • 3185

关于unity中foreach的使用

网上有很多讨论关于在unity中使用foreach的方法,比如https://www.zhihu.com/question/30334270/answer/49934065中热烈的讨论,以前也经常在非...
  • ethuangfen
  • ethuangfen
  • 2016年12月21日 15:00
  • 2945

java中for和foreach的区别

普通for循环 for(int i=0;i
  • u010031673
  • u010031673
  • 2016年07月01日 12:41
  • 8794

<c:forEach> ·index:当前这次迭代从0开始的迭代索引。 ·count:当前这次迭代从1开始的迭代计数。 ·first:用来表明当前这轮迭代是否为第一次迭代,该属性为boolean类型。

编辑 目录 1简介 2本体内容 3属性 4范例 5注意 1简介...
  • tfy1332
  • tfy1332
  • 2014年04月02日 14:58
  • 6413

说说PHP中foreach引用的一个坑

先来看看下面这段代码:
  • yipiankongbai
  • yipiankongbai
  • 2015年04月27日 11:21
  • 4929
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:为什么要用foreach来代替for
举报原因:
原因补充:

(最多只允许输入30个字)