基本信息
- 作者: [美] 约瑟夫·阿坝哈瑞(Joseph Albahari) 本·阿坝哈瑞(Ben Albahari)
- 丛书名: O’Reilly精品图书系列
- 出版社:机械工业出版社
- ISBN:9787111631347
- 上架时间:2020-1-7
- 出版日期:2019 年7月
- 开本:16开
- 页码:1070
- 版次:1-1
- 所属分类:计算机 > 软件与程序设计 > C#

内容简介
作译者
Ben Albahari 是《C# 6.0 in a Nutshell》的合著者。他曾就职于 Microsoft,并担任 Entity Framework 的项目经理。
目录
第1章 C#和.NET Framework简介7
1.1 面向对象7
1.2 类型安全性8
1.3 内存管理9
1.4 平台支持9
1.5 C#和CLR9
1.6 CLR和.NET Framework10
1.7 其他框架11
1.7.1遗留框架和小众框架12
1.7.2 Windows Runtime12
1.8 C#简史13
1.8.1 C# 7.0新特性14
1.8.2 C# 6.0新特性17
1.8.3 C# 5.0新特性18
1.8.4 C# 4.0新特性19
1.8.5 C# 3.0新特性19
1.8.6 C# 2.0新特性20
第2章 C#语言基础21
2.1 第一个C#程序21
前言
C#语言特性的增长也极大地加重了我们的学习负担。虽然一些工具如Microsoft IntelliSense和在线参考文档可以为工作提供诸多便利,但若要使用它们仍需要一些现有的概念和知识体系作为支撑。本书以简明统一的方式(而非烦琐冗长的介绍)准确阐释了这些知识。
与之前的四个版本一样,本书也是围绕概念和用例来进行组织的。因此无论是顺序阅读还是随意浏览都大有裨益。虽然本书只要求读者具备基本的背景知识,但是它仍然有一定的深度,比较适合中高级读者阅读。
本书内容涵盖C#语言、CLR和Framework核心程序集。我们之所以做出这样的选择是希望为一些难以理解的主题,例如并发、安全性以及应用程序域留出足够的篇幅,而同时又不对内容的深度和可读性造成显著的影响。本书详细标记了C# 6和C# 7以及相关的Framework新特性。因此本书亦可同时作为C# 5和C# 6的参考资料。
目标读者
本书主要针对中高级开发人员。本书不要求读者具备C#知识,但需要读者具备一定的通用编程经验。对于初学者,本书适合作为教材以外的补充书籍,而非替代编程教材。
本书非常适合与那些着眼于介绍具体技术的书籍配合阅读,例如ASP.NET、WPF、UWP或WCF。因为那些书籍往往会省略语言和.NET Framework方面的内容,而这些内容正是本书的重点。反之亦然。
本书并不会详细介绍每一种.NET Framework技术。本书亦不适合关心特定领域(例如移动端设备开发) API使用方式的读者。
本书的结构
本书前三章将集中介绍C#语言。首先介绍最基本的语法、类型和变量。而后会介绍一些高级的特性,如不安全代码以及预处理指令。如果你是C#语言的初学者,请循序渐进地阅读这些章节。
其余各章则涵盖了.NET Framework的核心功能,包括LINQ、XML、集合、并发、I/O
和网络、内存管理、反射、动态编程、特性、安全、应用程序域和原生互操作性等主题。第6章和第7章是后续主题的基础,除这两章之外,其余各章可以按照需要以任何顺序阅读。LINQ相关的三个章节最好按顺序阅读。其中的一些章节需要一些并发相关的知识,这些知识将在第14章中介绍。
使用本书所需的其他材料
运行本书中的示例需要C# 7.0编译器并安装.NET Framework 4.6/4.7。此外,还可以使用Microsoft的.NET在线文档查找每一个具体类型及成员的信息。
虽然可以在记事本中书写代码,并从命令行中执行编译过程,但是为了提高效率,最好使用一个代码编辑器随时测试各个代码片段。并使用集成开发环境(Integrated Development Environment, IDE)来生成可执行文件或程序库。
我们推荐从www.linqpad.net下载免费的LINQPad 5作为代码编辑器。LINQPad完全支持C# 7.0,且该软件就是由本书的作者之一维护的。
我们建议下载Microsoft Visual Studio 2017作为集成开发环境。除了免费的Express版本之外,其余的任何一种版本都能够运行本书所有的示例。译注1
LINQPad中包含了本书第2章到第10章中的所有示例代码。除此之外,还包含了并发编程、并行编程、动态编程的交互性(可编辑)示例。如需下载所有的示例,请在LINQPad底部左侧的“Samples”选项卡中点击“Download more samples”按钮,并选择“C# 7.0 in a Nutshell”。
排版约定
本书使用基本的UML符号来说明类型之间的关系。如图P-1所示。其中斜矩形代表抽象类;圆形代表接口。带有空心箭头的线段代表继承,其中箭头指向的类型是基类型。带有实心箭头的线条代表单向关联;而不带箭头的线段代表双向关联。
媒体评论
本书以概念和用例为中心,为中高级程序员提供了简明的 C# 和 .NET 知识体系,是 C# 的权威指南。就请跟随它在 C# 知识的海洋中畅游吧。
了解最新的 C# 语言功能,涵盖从基本的语法、变量这些基础主题到指针、运算符重载以及动态编程等高级主题的全部内容。
· 使用三个章节的篇幅完全解析 LINQ 相关的知识
· 探索并发和异步编程,高级线程编程以及并行编程知识
· 全面介绍 .NET 功能。包括 XML、正则表达式、应用程序域以及安全等内容
· 详细介绍 Roslyn——C# 7.0 的模块化、服务化编译器
“这本书是我案头上的必备参考书。” —— Scott Guthrie, Microsoft
“无论你是一个初学者还是一个专家,都能从本书中学到 C# 的最新技术。” —— Eric Lippert C# MVP
· Joseph Albahari 是《C# 6.0 in a Nutshell》以及《LINQ Pocket Reference》的合著者。他编写了流行的代码执行器与 LINQ 查询辅助工具 LINQPad。
· Ben Albahari 是《C# 6.0 in a Nutshell》的合著者。他曾就职于 Microsoft,并担任 Entity Framework 的项目经理。