C# a++ 与 ++a 的区别

运行环境:Window7 64bit,.NetFramework4.61,C# 6.0; 编者:乌龙哈里 2017-02-21


查资料时看到别人的写法 while(++a<n) 不禁想了下,到底能循环几次。上试验代码:

示例1:

int n = 3;
int a = 0;
while (++a < n)
{
    Console.WriteLine(a);
}
Console.WriteLine($"final {a}");
Console.WriteLine("=====");
a = 0;
while (a++ < n)
{
    Console.WriteLine(a);
}
Console.WriteLine($"final {a}");
/*输出显示:
1
2
final 3
=====
1
2
3
final 4
*/

再来个更直观的示例2:

int a = 0;
bool b = ++a > 0 ? true : false;
Console.WriteLine($"a=0,++a>0 :{b},final a={a}");
a = 0;
b = a++ > 0 ? true : false;
Console.WriteLine($"a=0,a++>0 :{b},final a={a}");
/*输出显示:
a=0,++a>0 :True,final a=1
a=0,a++>0 :False,final a=1
*/

结论:++a 是先 +1 后把结果放进了 a,再用a去做其他事;而 a++ 则是先用 a 做其他事,然后 a 再来+1。

最新文章

  1. Node学习笔记(三):基于socket.io web版你画我猜(二)
  2. 【原创】自己动手写工具----XSmartNote [Beta 2.0]
  3. js 假值
  4. Homework_4 四则运算 - C#版
  5. 贪吃蛇C#和JAVA实现
  6. 查看软、硬raid信息的方法
  7. lintcode : 跳跃游戏
  8. IIS 7.0 and Web Farms
  9. JSON XML IO数据操作
  10. mysql 学习心得2
  11. pycharm配置运行django项目步骤
  12. jpa table主键生成策略
  13. Codeforces Round #523 (Div. 2) C Multiplicity (DP)
  14. 先 FROM 后 WHERE 再 GROUP BY 再 SELECT 再 order BY
  15. 内置函数_zip()
  16. Swagger2 配置
  17. linux查看防火墙的状态以及开启关闭
  18. JSONObject基本内容(三)
  19. 读书笔记 C# 接口之浅析
  20. javascript 调用cookies

热门文章

  1. HDU - 4336:Card Collector(min-max容斥求期望)
  2. BZOJ4590 Shoi2015 自动刷题机 【二分】
  3. 使用 MSBuild 响应文件 (rsp) 来指定 dotnet build 命令行编译时的大量参数
  4. Linux系统下位(Ubuntu 11.04) 下安装配置 JDK 7安装步骤指导
  5. 使用Navicat for Oracle新建表空间、用户及权限赋予 (转)
  6. 自定义显示提示一段时间自动消失ShowMsgText控件
  7. sed命令n,N,d,D,p,P,h,H,g,G,x解析
  8. Linux的POSIX线程属性
  9. (转)Inno Setup入门(一)——最简单的安装脚本
  10. java代码-------Runnable的用法