C# 7.0 核心技术指南 (3):C#和.NET Framework 简介 1.4&1.5

阅读数:11 2019 年 11 月 30 日 23:15

C# 7.0核心技术指南(3):C#和.NET Framework简介 1.4&1.5

(平台支持)

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

C#以往几乎只用于编写在 Windows 平台上执行的代码。但最近,Microsoft 和一些公司将其推广到了其他的平台上,包括 Linux、macOS、iOS 以及 Android。Xamarin 可以使用 C#进行跨平台的移动应用开发,而可移植的类型库(Portable Class Library)也得到了广泛的应用。Microsoft 发布的 ASP.NET Core 是一个跨平台的轻量级网络宿主框架,并可以在.NET Framework 以及.NET Core (开源的跨平台运行时)上运行。1

1 ASP.NET Core 自 3.0 版本起,将只支持在.NET Core 平台上运行


(C#和 CLR)

C#依赖运行时环境,它含有许多特性,如自动化内存管理和异常处理。Microsoft .NET Framework 的核心公共语言运行时(Common Language Runtime,CLR)就提供了这些运行时特性。(.NET Core 以及 Xamarin 框架也提供了类似的运行时。)CLR 和语言无关。开发者可以使用多种语言,例如 C#、F#、Visual Basic.NET,以及托管 C++ 来构建应用程序。

与其他的托管语言一样,C#也会将代码编译为托管代码。托管代码以中间语言(Intermediate Language,IL)的形式表示。CLR 通常会在执行前,将 IL 转换为机器(例如 x86 或 x64)原生代码,称为即时(Just-In-Time,JIT)编译。除此之外,还可以使用提前编译(ahead-of-time compilation)技术来改善拥有大程序集,或在资源有限的设备上运行的程序的启动速度(包括那些使用 Xamarin 开发的)满足 iOS 应用商店规则的应用。

托管代码的容器称为程序集(assembly)或可移植程序集(portable executable)。程序集可以是一个可执行文件(.exe)也可以是一个库(.dll)。它们不仅包含 IL,还包含称为元数据(metadata)的类型信息。元数据的引入使程序集无须额外的文件就可以引用其他程序集中的类型。

使用 Microsoft 的 ildasm 工具可以反编译并查看程序集的 IL。而其他工具,例如 ILSpy、dotPeek(JetBrains)以及 Reflector(Red Gate)则可以将 IL 代码进一步反编译为 C#。IL 的层次相比原生机器代码要高得多,因此反编译器可以高质量地重建 C#代码。

程序也可以通过反射(reflection)查询其元数据,甚至在运行时生成新的 IL(reflection.emit)。

C# 7.0核心技术指南(3):C#和.NET Framework简介 1.4&1.5

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

评论

发布