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

阅读数:7 2019 年 11 月 30 日 23:42

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

(条件运算符)

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

&& 和||运算符用于判断与和或条件。它们常常与代表“非”的! 运算符一起使用。在下面的例子中,UseUmbrella 方法在下雨或阳光充足(雨伞可以保护我们不会经受日晒雨淋),以及无风(因为雨伞在有风的时候不起作用)的时候返回 true:

复制代码
static bool UseUmbrella (bool rainy, bool sunny, bool windy)
{
return !windy && (rainy || sunny);
}

&& 和||运算符会在可能的情况下执行短路计算。在上面的例子中。如果刮风,(rainy || sunny)将不会计算。短路计算在某些表达式中是非常必要的,它可以允许如下表达式运行而不会抛出 NullReferenceException 异常:

复制代码
if (sb != null && sb.Length > 0) ...

& 和|运算符也可用于判断与和或条件:

复制代码
return !windy & (rainy | sunny);

不同之处是 & 和|运算符不支持短路计算。因此它们很少用于替代条件运算符。

不同于 C 和 C++,& 和|运算符在用于布尔表达式时执行布尔比较(非短路计算)。而 & 和|运算符仅在用于数值运算时才执行位运算。

(三元)条件运算符

三元条件运算符(由于它是唯一一个使用三个操作数的运算符,因此也简称为三元运算符)使用 q ? a : b 的形式。它在 q 为真时计算 a 否则计算 b。例如:

复制代码
static int Max (int a, int b)
{
return (a > b) ? a : b;
}

条件运算符在 LINQ 语句中尤其有用(见第 8 章)。

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

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

评论

发布