C# 7.0 核心技术指南 (53):C#语言基础 2.11.6&2.12

阅读数:7 2019 年 12 月 4 日 17:14

C# 7.0核心技术指南(53):C#语言基础 2.11.6&2.12

(其他语句)

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

using 语句用一种优雅的语法在 finally 块中调用实现了 IDisposable 接口对象的 Dispose 方法。(请参见 4.5 节和 12.1 节)

C#重载了 using 关键字,使它在不同上下文中有不同的含义。特别注意 using 指令和 using 语句是不同的。

lock 语句是调用 Mintor 类型的 Enter 和 Exit 方法的简化写法。(请参见第 14 章和第 23 章。)


(命名空间)

命名空间是一系列类型名称的领域。通常情况下,类型组织在分层的命名空间里,既避免了命名冲突又更容易查找。例如,处理公钥加密的 RSA 类型就定义在如下的命名空间下:

复制代码
System.Security.Cryptography

命名空间组成了类型名的基本部分。下面代码调用了 RSA 类型的 Create 方法:

复制代码
System.Security.Cryptography.RSA rsa =
System.Security.Cryptography.RSA.Create();

命名空间是独立于程序集的。程序集是像.exe 或者.dll 一样的部署单元(参见第 18 章)。命名空间并不影响成员的 public、internal、private 的可见性。

namespace 关键字为其中的类型定义了命名空间。例如:

复制代码
namespace Outer.Middle.Inner
{
class Class1 {}
class Class2 {}
}

命名空间中的“.”表明了嵌套命名空间的层次结构。下面的代码在语义上和上一个例子是等价的:

复制代码
namespace Outer
{
namespace Middle
{
namespace Inner
{
class Class1 {}
class Class2 {}
}
}
}

类型可以用完全限定名称(fully qualified name),也就是包含从外到内的所有命名空间的名称,来指定。例如,上述例子中,可以使用 Outer.Middle.Inner.Class1 来指代 Class1。

如果类型没有在任何命名空间中定义,则它存在于全局命名空间(global namespace)中。全局命名空间也包含了顶级命名空间,就像前面例子中的 Outer 命名空间。

C# 7.0核心技术指南(53):C#语言基础 2.11.6&2.12

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

评论

发布