zoukankan      html  css  js  c++  java
  • .NET基础之:i++和i=i+1和++i的区别

    i++ 一定等同于 i=i+1吗?

     

    大家都知道,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

  • 相关阅读:
    C# Using MySQL
    C++ Asynchronous IO on Windows
    C++ Bind adapter usage
    C# Entity Framework with MSSQL, MYSQL
    Read a file into array for C++/C#
    上下移动 04.16
    盒子模型001基础
    JavaScript&JQ 001_五角星评分
    jQuery EasyUI tree的 使用
    自定义实现URL重写 04.18
  • 原文地址:https://www.cnblogs.com/gaole/p/3311117.html
Copyright © 2011-2022 走看看