我们该用i++还是i--来进行循环?

    在对数据进行循环操作的时候,组长说 for(int i=N;i>0;i--)  与 for(int i=0;i<N;i++)这两种写法是有区别的。

    在写i--的时候 效率要比 i++的效率高。

    总感觉挺有意思的。一个是加法,一个是减法。怎么效率还不一样?

 

做一个例子来看看吧:

测试程序:

	private void button2_Click(object sender, EventArgs e)
        {
	    for (int j = 0; j < 100000; j++)
            {
		//计算 i++的所用的时间
                TimeSpan startTime = new TimeSpan(DateTime.Now.Ticks);
                for (int i = 0; i < 10000; i++)
                {
                    var v1 = i.ToString();
                }
                TimeSpan endTime = new TimeSpan(DateTime.Now.Ticks);
                TimeSpan ts = endTime.Subtract(startTime).Duration();
				
		//计算i--所用的时间
                TimeSpan startTime2 = new TimeSpan(DateTime.Now.Ticks);
                for (int i = 10000; i > 0; i--)
                {
                    var v2 = i.ToString();
                }
                TimeSpan endTime2 = new TimeSpan(DateTime.Now.Ticks);
                TimeSpan ts2 = endTime2.Subtract(startTime2).Duration();
				
		//如果i++的时间  比 i-- 用的时间大  则top+1  反之bottom+1
                if (ts > ts2)
                {
                    top += 1;
                }
                else
                {
                    bottom += 1;
                }
                
            }
			
	    //输出两种方式时间长 出现的次数
            label1.Text = top.ToString();
            label2.Text = bottom.ToString();
	}

 

测试结果:

    通过上面的结果来看,i++的效率好像比i--的效率要高啊?请大神来解答。


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 16
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值