为什么要用foreach来代替for

看个例子,就可以看出原因

 
        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要高上许多
posted @ 2007-09-28 23:15 重典 阅读(3940) 评论(12) 编辑 收藏