欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » C# » 正文

热门阅读

i++与++i和i--与--i详解

创建时间:2011年08月26日 11:07  阅读次数:(6175)
分享到:
今天看到有朋友在群里讨论i++与++i的区别,这里小编发表一些自己对于两者区别的解释。
i--与--i的区别和i++与++i的区别是一样的,我们理解了i++与++i的区别,同样也就理解了i--与--i的区别.

计算上的区别:
i++ 先计算,再将i自身的值+1。
++i 先将i自身的值加+1,再参与计算。

我们来看一个示例:
static void Main(string[] args)
{
    int i = 2;
    int j = i + (i++);
    Console.WriteLine(j);
    Console.WriteLine(i);
}

这个打印出来会是什么结果呢?读者可以先根据自己的理解算出打印值来,我们再来分析。

根据我们上面的讲解,i++,是先计算,然后再将自身的值+1,那么上面的示例实际上就是:
static void Main(string[] args)
{
    int i = 2;
    int j = i+i;
    int i=i+1;
    Console.WriteLine(j);
    Console.WriteLine(i);
}

打印出来的结果应该就是
4
3

测试,结果正确!


我们再来看看++i的示例:
static void Main(string[] args)
{
    int i = 2;
    int j = i + (++i);
    Console.WriteLine(j);
    Console.WriteLine(i);
}

前面有讲过,++i,是先将i自身的值加+1,再参与计算,那么上面的示例实际上就是:
static void Main(string[] args)
{
    int i = 2;
    int i=i+1;
    int j = i+i;
    Console.WriteLine(j);
    Console.WriteLine(i);
}

那打印出来的结果应该就是:
5
3

测试,结果正确!


我们理解了i++与++i的实际运算过程,那么i++与++i究竟有没有本质上的区别的呢?

本质上的区别:
++i不会产生临时对象
i++在返回时会有一个临时对象的创建
所以,在++i和i++ 效果相同的时候,最好使用++i?
来源:.net学习网
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf

打赏

取消

感谢您的支持,我会做的更好!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论0条
  • 暂无任何评论,请留下您对本文章的看法,共同参入讨论!
发表评论:
留言人:
内  容:
请输入问题 25+60=? 的结果(结果是:85)
结  果: