技术经验分享: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
相关文章
|
6月前
|
存储 算法 Python
学习编程是一个逐步积累的过程
【4月更文挑战第30天】学习编程是一个逐步积累的过程
45 2
|
机器学习/深度学习 人工智能 大数据
【如何系统的学习it技术】
【如何系统的学习it技术】
|
数据库 Nacos
【项目实战典型案例】08.用户成为设计者的正例
【项目实战典型案例】08.用户成为设计者的正例
|
开发者
软件工程高效学 | 实战案例:利用Kitten设计交互案例
软件工程是计算机领域的一门专业基础课,它对于培养开发者的软件素质、提高开发者的软件开发能力与软件项目管理能力具有重要意义。本篇介绍了利用Kitten设计交互案例。
177 0
软件工程高效学 | 实战案例:利用Kitten设计交互案例
|
缓存 微服务
聊聊编程学习方法,企业级开发到底在做什么,难不难?
聊聊编程学习方法,企业级开发到底在做什么,难不难?
|
JSON 监控 程序员
程序员必备的分析解决问题能力:案例分享
程序员必备的分析解决问题能力:案例分享
203 0
程序员必备的分析解决问题能力:案例分享
|
测试技术
谈谈我理解的测试的核心价值
测试人员的核心价值      随着公司组织架构的调整,战略调整,产品的实现技术不断变化,现在的测试人员可以说是什么都可以干。       有些人做产品,有些人做平台,有些人做工具......     有些人有点象专职开发,有些人有点象专职运营......      Facebook,google的一些敏捷测试理念中,测试人员应该致力于提出测试解决方案,研究各种测试工具为主,具体的测试执行工作,由coding的开发同学去做。
1337 0
相亲软件开发,关注应用启动优化的本质
相亲软件开发,关注应用启动优化的本质
|
Rust Kubernetes 测试技术
Krustlet 入手案例
本文将对基于 Kind 部署 Krustlet 并实践 Demo 应用
404 0
|
监控 Java 测试技术
干货 | 精准化测试原理简介与实践探索
干货 | 精准化测试原理简介与实践探索