.NET基础之:i++和i=i+1和++i的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.NET基础之:i++和i=i+1和++i的区别相关的知识,希望对你有一定的参考价值。

家都知道,i++通常情况都是等同于i=i+1,在编译时,clr会自动向上转换

 比如说
   int t =1;
   t++;   等同于 t=t+1;  //1 是int,和int型相加,int + int 赋值给int时,编译没有错误

long t= 1;
   t++;   等同于 t=t+1;  //1 是int,和long 型相加,由于有int 向上自动转换成 long,int(这时转换成了long) + long 赋值给long时,编译没有错误

   short t=1;
   t++;  不等同于 t=t+1; //1 是int,和short类型相加,由于 short 向上自动转换成 int,short(这时转换成了int + int 赋值给short 时,编译肯定会出现错误!

   这里,自动向高级转换时,是t的“值”自动转换了,并非是其类型真的变了!

 

i++ 和 ++i一样的吗?

答案是否定的,在遇到赋值运算时候,i++是先进行赋值,后进行+操作

而++i是先进行加操作,后进行赋值操作

例如:   int count = 5;

            int i = count++;//此时,i=5

            i = count;      //此时 i=6

以上是关于.NET基础之:i++和i=i+1和++i的区别的主要内容,如果未能解决你的问题,请参考以下文章

i++和++i的异同之处

Python 基础之 I/O 模型

自增自减 i++ 和 ++i的区别

ASP.NET基础问题

java基础面试题之:i++与++i的区别

asp.net基础赋值运算符与关系运算符