|
|
51CTO旗下网站
|
|
移动端

前言(3)

《C# 6.0本质论(第5版)》本书是一本编程语言参考书,遵循核心C# 6.0 语言规范,适合对C#感兴趣的各个层次的读者。无论对初学者还是具有一定编程经验的开发者,本书都是一本很有价值的参考书。本节为前言。

作者:周靖/庞燕 译来源:人民邮电出版社|2017-07-21 14:29

前言(3)

第5章──类:前面已经学过了类的基本构成元素,这一章将这些构造合并到一起,从而获得具有完整功能的类型。类是面向对象技术的核心,它为一“类”对象定义了模板。

第6章──继承:虽然继承是许多开发者的基本编程手段,但C#提供了独特的构造,比如new修饰符。这一章讨论了继承语法的细节,其中包括重写(overriding)。

第7章──接口:这一章展示了如何利用接口来定义类之间的“可以进行版本控制的交互契约”(versionable interaction contract)。C#同时包含显式和隐式的接口成员实现,可以实现一个额外的封装等级,这是其他大多数语言所不支持的。

第8章──值类型:尽管定义引用类型更常见,但有些情况下仍然有必要定义行为类似于C#内置基本类型的值类型。这一章要介绍如何定义结构(structure),同时揭示它们的特性。

第9章──良构类型:这一章讨论了一些更高级的类型定义,解释了如何实现操作符,比如“+”和转型操作符,并描述了如何将多个类封装到一个库中。除此之外,这一章还演示了定义命名空间的过程和XML注释的用法,并讨论了如何基于垃圾回收机制来设计令人满意的类。

第10章──异常处理:这一章是对第4章引入的异常处理机制的一个延伸讨论,描述了如何利用异常层次结构来支持创建自定义异常。此外,它还强调了异常处理的一些最佳实践。

第11章──泛型:从某种意义上说,泛型或许是C# 1.0缺少的一个最重要的特性。这一章全面讨论了自C# 2.0引入的这个特性。除此之外,C# 4.0增加了对协变和逆变的支持。本章将在泛型的背景中探讨它们。

第12章──委托和Lambda表达式:正是因为委托,才使C#与其前身语言(C和C++等)有了显著的不同,它定义了在代码中处理事件的模式。这几乎完全消除了写轮询例程的必要。Lambda表达式是使C# 3.0的LINQ成为可能的关键概念。通过这一章的学习,你将知道Lambda表达式是在委托的基础上构建起来的,它提供了比委托更加优雅和简洁的语法。本章的内容是第14章讨论的新的集合API的基础。

第13章──事件:封装起来的委托(称为事件)是公共语言运行时(Common Language Runtime,CLR)的核心构造。本章还探讨了匿名方法,这也是C# 2.0新增的。

第14章──支持标准查询操作符的集合接口:我们通过讨论新的Enumerable类的扩展方法,向你介绍C# 3.0引入的一些简单但又非常强大的改变。Enumerable类使一个全新的集合API成为可能,这个API称为“标准查询操作符”,本章对它进行了详细讨论。

第15章──使用查询表达式的LINQ:如果只使用标准查询操作符,就会形成一些长语句,解读起来具有挑战性的。查询表达式提供了一种类似SQL风格的语法,能够有效地解决这个问题。这一章会详细讨论这种表达式。

第16章──构建自定义集合:在构建用于操纵业务对象的自定义API时,经常都需要创建自定义的集合。本章讨论了具体如何做;同时,还介绍了能使自定义集合的构建变得更简单的上下文关键字。

第17章──反射、特性和动态编程:20世纪80年代末,程序结构的思维模式发生了根本性的变化,面向对象的编程是这个变化的基础。类似地,特性使声明性编程和嵌入元数据成为可能,因而引入了一种新的思维模式。这一章探讨了特性的方方面面,并讨论了如何通过反射机制来获取它们。这一章还讨论了如何通过基类库(Base Class Library,BCL)中的序列化框架来实现文件的输入和输出。C# 4.0增加了一个新的关键字,即dynamic。该关键字将所有类型检查都移至运行时进行,因而极大扩展了C# 能做的事情。

第18章──多线程处理:大多数现代的程序都要求使用线程来执行长时间运行的任务,还要确保对并发的事件进行快速响应。随着程序变得越来越复杂,必须采取其他措施来保护这些动态环境中的数据。多线程应用程序的编写是一项复杂的任务。这一章讨论了如何操纵线程,并讲述了如何采取一些必要的措施来防止将多线程应用程序弄得一团糟。

第19章──线程同步:这一章以第18章为基础,演示了如何利用一些内建的线程处理模式来简化对多线程代码的显式控制。

第20章——平台互操作性和不安全的代码:必须认识到的是,C#是相对年轻的一种语言,许多现有的代码是用其他语言写成的。为了用好这些现有的代码,C#通过P/Invoke提供了对互操作性(非托管代码的调用)的支持。除此之外,C#允许使用指针,也允许执行直接内存操作。虽然使用了指针的代码要求特殊的权限才能运行,但它具有与C风格的API完全兼容的能力。

第21章——CLI:事实上,C#被设计成一种在基本CLI之上工作的最有效的编程语言。这一章讨论了C#程序与基本“运行时”及其规范的关系。

附录A──下载和安装C#编译器与CLI平台:这个附录介绍了如何安装微软.NET和Mono,它们是编译和运行C#代码的基础平台。

附录B──井字棋源代码清单:第3章和第4章用到的Tic-Tac-Toe程序在这里提供了完整源代码。

附录C“使用TPL和C# 6.0之前的多线程处理模式”和附录D“C# 6.0的async/await模式之前的计时器”英文版可以通过本书的链接 http://www.informit.com/title/9780134141046 获得[7]。有资质的教师可以通过Pearson的资源中心获得本书的教学资源 。

希望本书成为你学习和掌握C#技能的一个好帮手。另外,以后需要了解C#的一些更鲜为人知的主题及其内部工作原理的时候,本书也是一本出色的参考书。

——Mark Michaelis

Blog: http://IntelliTect.com/mark

Twitter: @Intellitect, @MarkMichaelis


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:342347198

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

PHP和MySQL Web开发(原书第3版)

本书将介绍如何创建可交互的Web站点,包括从最简单的订单表单到复杂的安全电子商务站点。而且,读者还将了解如何使用开放源代码技术来实现...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊