技术经验分享:i++++i区别模拟实现

简介: 技术经验分享:i++++i区别模拟实现

"

在程序中我们经常碰到这样的表达式计算:++a + b--

我们查看操作优先级别:从高向低b--,(++a,+ 同一级别)

从下面的代码中,可以清楚看到计算过程:

class Program

{

static void Main(string【】 args)

{

int a = 2;

int b = 1;

Console.WriteLine(++a + b--);

Console.WriteLine(a);

Console.WriteLine(b);

int i = 2;

Console.WriteLine(++i + i++);

Console.WriteLine(i);

Console.WriteLine(""测试i++"");

object ii = 10;

int k = Program.ijiajia(ref ii);

Console.WriteLine(k);

Console.WriteLine(ii);

Console.WriteLine(""测试++i"");

object m = 5;

//代码效果参考:https://v.youku.com/v_show/id_XNjQwMDM5ODU1Ng==.html

int n = Program.jiajiai(ref m);

Console.WriteLine(m);

Console.WriteLine(n);

Console.Read();

}

static int ijiajia(ref object i)

{

int temp = int.Parse(i.ToString());

i = temp + 1;

return temp;

}

static int jiajiai(ref object i)

{

i = int.Parse(i.ToString()) //代码效果参考:https://v.youku.com/v_show/id_XNjQwNjg0MTQ1Ng==.html

+ 1;

return int.Parse(i.ToString());

}

}

计算结果:

4

3

0

6

4

测试i++

10

11

测试++i

6

6


"
image.png
相关文章
|
3月前
|
数据建模
技术经验解读:ZVS振荡电路工作原理分析
技术经验解读:ZVS振荡电路工作原理分析
64 1
|
缓存 微服务
聊聊编程学习方法,企业级开发到底在做什么,难不难?
聊聊编程学习方法,企业级开发到底在做什么,难不难?
|
监控 Java 测试技术
软件测试|精准化测试原理简介
软件测试|精准化测试原理简介
165 0
软件测试|精准化测试原理简介
相亲软件开发,关注应用启动优化的本质
相亲软件开发,关注应用启动优化的本质
|
Rust Kubernetes 测试技术
Krustlet 入手案例
本文将对基于 Kind 部署 Krustlet 并实践 Demo 应用
393 0
|
测试技术
谈谈我理解的测试的核心价值
测试人员的核心价值      随着公司组织架构的调整,战略调整,产品的实现技术不断变化,现在的测试人员可以说是什么都可以干。       有些人做产品,有些人做平台,有些人做工具......     有些人有点象专职开发,有些人有点象专职运营......      Facebook,google的一些敏捷测试理念中,测试人员应该致力于提出测试解决方案,研究各种测试工具为主,具体的测试执行工作,由coding的开发同学去做。
1318 0
|
监控 Java 测试技术
干货 | 精准化测试原理简介与实践探索
干货 | 精准化测试原理简介与实践探索
|
前端开发
前端学习案例-一文带你理解如何解决工作中的需求
前端学习案例-一文带你理解如何解决工作中的需求
64 0
|
XML 数据采集 存储
接口自动化的关键思路和解决方案,本文全讲清楚了
与UI相比,接口一旦研发完成,通常变更或重构的频率和幅度相对较小。因此做接口自动化的性价比更高,通常运用于迭代版本上线前的回归测试中。 手工做接口测试,测试数据和参数都可以由测试人员手动填写和更新。
接口自动化的关键思路和解决方案,本文全讲清楚了
|
设计模式 算法 Java
《刻意练习》:以学习编程为例
《刻意练习》是一本神奇的魔法书,它用大量的事实案例和数据来证明了刻意练习能给一个人带来的巨大改变。更为难能可贵的是,它不仅仅只是介绍刻意练习的好处,还给读者介绍了刻意练习的方法和注意事项,可以说是干货满满的一本书。
429 0