为什么要用foreach来代替for

1169人阅读 评论(0) 收藏 举报
看个例子,就可以看出原因

 
        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要高上许多
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:554329次
    • 积分:7847
    • 等级:
    • 排名:第2628名
    • 原创:178篇
    • 转载:2篇
    • 译文:29篇
    • 评论:300条
    最新评论