ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 一个很容易忽略的i++和++i的问题

一个很容易忽略的i++和++i的问题

原创 Linux操作系统 作者:iDotNetSpace 时间:2008-09-28 13:31:04 0 删除 编辑

在一个循环当中,究竟使用i++效率高呢,还是使用++i的效率高呢?估计很多人都不清楚这个问题。我的答案是:++i高。

最近闲来无事,于是对这个问题进行测试。

先说明下两者的含义:

i++ 先赋值后加
++i 先加后赋值

我们可以进行如下测试,将更清楚:

            int n = 0, m = 1;
            n = m++;
            Console.WriteLine(n + " " +m);
            n = ++m;
            Console.WriteLine(n + " " + m);

测试结果为:1  2  3 3

OK,我们入正题,测试代码如下:

            DateTime tnow = DateTime.Now;
            Console.WriteLine(tnow.ToString()+tnow.Millisecond.ToString());
            int tag1 = 0 , tag2 = 0;
            for (int i=0; i < 10000; i++)
            {
                tag1++;
            }
            tnow = DateTime.Now;
            Console.WriteLine(tnow.ToString() + tnow.Millisecond.ToString());
            for (int i = 0; i < 10000; ++i)
            {
                tag2++;
            }
            tnow = DateTime.Now;
            Console.WriteLine(tnow.ToString() + tnow.Millisecond.ToString());
            Console.WriteLine("第一次循环的次数:"+ tag1 + "第二次循环的次数:" + tag2);
            Console.ReadLine();

测试结果很有趣,如下:

从三次的时间对比,可以明显看出,++i的效率要高。虽然差距不大,但知道下总不会吃亏。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12639172/viewspace-466021/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-01-04

  • 博文量
    2376
  • 访问量
    5765891