C# 7.0 核心技术指南 (28):C#语言基础 2.5&2.5.1&2.5.2

阅读数:9 2019 年 11 月 30 日 23:38

C# 7.0核心技术指南(28):C#语言基础 2.5&2.5.1&2.5.2

(布尔类型和运算符)

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

C#中的 bool(System.Boolean 类型的别名)类型是能赋值为 true 和 false 字面量的逻辑值。

尽管布尔类型的值仅需要 1 位的存储空间,但是运行时却使用了 1 字节内存空间。这是因为字节是运行时和处理器能够有效使用的最小单位。为避免在使用数组时的空间浪费,.NET Framework 在 System.Collections 命令空间下提供了 BitArray 类,其中的每一个布尔值仅占用一位。


(布尔类型转换)

bool 类型不能转换为数值类型,反之亦然。


(相等和比较运算符)

== 和!= 用于判断任意类型的相等与不等,并总是返回一个 bool 值。1值类型通常有很简单的相等定义:

1 可以通过重载这些运算符(见第 4 章)来返回一个非 bool 类型,但是实际应用中很少使用。

复制代码
int x = 1;
int y = 2;
int z = 1;
Console.WriteLine (x == y); // False
Console.WriteLine (x == z); // True

对于引用类型,默认情况下相等是基于引用的,而不是底层对象的实际值(更多内容请参见第 6 章):

复制代码
public class Dude
{
public string Name;
public Dude (string n) { Name = n; }
}
...
Dude d1 = new Dude ("John");
Dude d2 = new Dude ("John");
Console.WriteLine (d1 == d2); // False
Dude d3 = d1;
Console.WriteLine (d1 == d3); // True

相等和比较运算符 ==、!=、<、>、>= 和 <= 可用于所有的数值类型,但是用于实数时要特别注意(请参见 2.4.9 节)。比较运算符也可以用于枚举(enum)类型的成员,它比较的是表示枚举成员的整数值,我们将在 3.7 节中介绍。

我们将在 4.14 节、6.11 节和 6.12 节中详细介绍相等和比较运算符。

C# 7.0核心技术指南(28):C#语言基础 2.5&2.5.1&2.5.2

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

评论

发布