技术经验分享: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
相关文章
|
7月前
|
存储 算法 Python
学习编程是一个逐步积累的过程
【4月更文挑战第30天】学习编程是一个逐步积累的过程
52 2
|
7月前
|
安全 网络安全 网络架构
网络开发过程详细知识点
网络开发过程详细知识点
66 0
|
数据库 Nacos
【项目实战典型案例】08.用户成为设计者的正例
【项目实战典型案例】08.用户成为设计者的正例
|
消息中间件 安全 JavaScript
28个案例终极篇
28个案例终极篇
|
测试技术
谈谈我理解的测试的核心价值
测试人员的核心价值      随着公司组织架构的调整,战略调整,产品的实现技术不断变化,现在的测试人员可以说是什么都可以干。       有些人做产品,有些人做平台,有些人做工具......     有些人有点象专职开发,有些人有点象专职运营......      Facebook,google的一些敏捷测试理念中,测试人员应该致力于提出测试解决方案,研究各种测试工具为主,具体的测试执行工作,由coding的开发同学去做。
1344 0
|
Rust Kubernetes 测试技术
Krustlet 入手案例
本文将对基于 Kind 部署 Krustlet 并实践 Demo 应用
417 0
|
前端开发
前端学习案例-一文带你理解如何解决工作中的需求
前端学习案例-一文带你理解如何解决工作中的需求
73 0
|
测试技术 数据库
【基础理论-自动化测试面试点-2】测试结果自动比较技术原理
【基础理论-自动化测试面试点-2】测试结果自动比较技术原理
|
Java API Spring
写了一套优雅接口之后,领导让我给大家讲讲这背后的技术原理(上)
Hello,各位小伙伴们,宣布一个好消息: 咱们的公号终于有留言功能了!!! 以后小伙们就可以在留言区留言跟阿粉一起交流咯~
写了一套优雅接口之后,领导让我给大家讲讲这背后的技术原理(上)
|
安全 测试技术 数据库
测试基础篇(一)—— 面试终极常见
测试基础篇(一)—— 面试终极常见
194 0