C# 7.0 核心技术指南 (44):C#语言基础 2.9.4

阅读数:6 2019 年 12 月 4 日 17:11

C# 7.0核心技术指南(44):C#语言基础 2.9.4

(运算符优先级和结合性)

内容简介
本书前三章将集中介绍 C#语言。首先介绍基本的语法、类型和变量。而后会介绍一些高级的特性,如不安全代码以及预处理指令。如果你是 C#语言的初学者,请循序渐进地阅读这些章节。
其余各章则涵盖了.NET Framework 的核心功能,包括 LINQ、XML、集合、并发、I/O 和网络、内存管理、反射、动态编程、特性、安全、应用程序域和原生互操作性等主题。第 6 章和第 7 章是后续主题的基础,除这两章之外,其余各章可以按照需要以任何顺序阅读。LINQ 相关的三个章节好按顺序阅读。其中的一些章节需要一些并发相关的知识,这些知识将在第 14 章中介绍。

当表达式包含多个运算符时,运算符的优先级和结合性决定了计算的顺序。优先级高的运算符先于优先级低的运算符执行。如果运算符的优先级相同,那么运算符的结合性决定计算的顺序。

2.9.4.1 优先级

以下的表达式:

复制代码
1 + 2 * 3

由于 * 的优先级高于 +,因此它将按下面的方式计算:

复制代码
1 + (2 * 3)

2.9.4.2 左结合运算符

二元运算符(除了赋值运算符、Lambda 运算符、null 合并运算符)是左结合运算符。换句话说,它们是从左往右计算。例如,下面的表达式:

复制代码
8 / 4 / 2

由于左结合性将按如下的方式计算:

复制代码
( 8 / 4 ) / 2 // 1

插入括号可以改变实际的计算顺序:

复制代码
8 / ( 4 / 2 ) // 4

2.9.4.3 右结合运算符

赋值运算符、Lambda 运算符、null 合并运算符和条件运算符是右结合的。换句话说,它们是从右往左计算。右结合性允许多重赋值,例如:

复制代码
x = y = 3;

首先将 3 赋值给 y,之后再将表达式 (3) 的结果赋值给 x。

C# 7.0核心技术指南(44):C#语言基础 2.9.4

购书地址 https://item.jd.com/12681788.html?dist=jd

评论

发布