C#技术系列之 C# 7.0本质论 +  C# 7.0核心技术指南(原书第7版) (套装2册)pdf下载pdf下载

C#技术系列之 C# 7.0本质论 + C# 7.0核心技术指南(原书第7版) (套装2册)百度网盘pdf下载

作者:
简介:本篇主要提供C#技术系列之 C# 7.0本质论 + C# 7.0核心技术指南(原书第7版) (套装2册)pdf下载
出版社:
出版时间:
pdf下载价格:9.00¥


预览


内容介绍

C# 7.0本质论 [Essential C# 7.0]


编辑推荐

适读人群 :1、初学者;2、熟悉结构化编程的程序员;3、熟悉“基于对象”和“面向对象”理念的开发者(C++、Python、TypeScript、Visual Basic和Java程序员);4、C#专家

本书特色深挖C# 7.0的诸多改进,包括元组、解构函数、模式匹配、本地函数和ref返回等利用C#面向对象构造写出更健壮的代码利用泛型、委托、Lambda表达式和事件降低代码复杂度利用C# 7.0跨平台编译在Linux或MacOS上运行代码全面掌握多线程处理和同步,包括async/await模式包括C# 7.1/7.2/7.3语言增强

内容简介

作为历年来深受各层次开发人员欢迎的C#指南,本书讨论了从C# 3.0到7.0的*重要的C#特性,强调了现代编程模式,可帮助读者编写简洁、强大、健壮、安全和易于维护的C#代码。C#专家Mark Michaelis对语言进行了全面而深入的探讨,提供了对关键C# 7.0增强、C# 7.0和.NET Core/.NET Standard的配合使用以及跨平台编译的专业论述。他用简洁的例子阐释了关键C#构造,并提供了大量优秀实践编程规范,为你进行高效软件开发打好基础。

作者简介

Mark Michaelis是高端软件工程和咨询公司IntelliTect的创办者、首席技术架构师和培训师。Mark经常在开发者大会上发言,写过许多文章和书籍,目前是《MSDN Magazine》的《Essential .NET》专栏作家。

从1996年起,他一直是C#、Visual Studio Team System和Windows SDK的MVP。2007年被评选为微软的Regional Director。他还服务于微软的几个软件设计评审团队,包括C#和VSTS。

Mark拥有伊利诺伊大学哲学专业文学学士学位和伊利诺伊理工大学计算机硕士学位。

他不是痴迷于计算机,就是忙于陪伴家人或者玩壁球(2016年暂停铁人三项训练)。他居住在华盛顿州的斯波坎,他和妻子Elisabeth有三个孩子:Benjamin、Hanna和Abigail。

技术编辑简介

Eric Lippert目前在Facebook负责开发者工具。之前是微软C#语言设计团队的一员。不在StackOverflow上回答用户的C#问题或者编辑程序书时,他总是喜欢玩他的小帆船。目前和妻子Leah居住在华盛顿州的西雅图。

精彩书评

Mark非常聪明,善于打破砂锅问到底,能深刻理解一种技术对于真正的开发人员的影响……他的文字直指技术的本质,敏锐地指出技术的真正价值和问题……没人能像这位大师一样帮你正确理解C# 7.0。—— Mads Torgersen,微软公司C# 项目经理

目录

译者序

推荐序

前言

致谢

作者简介

第1章 C#概述 / 1

1.1 Hello, World / 1

1.2 C#语法基础 / 8

1.3 使用变量 / 14

1.4 控制台输入和输出 / 17

1.5 注释 / 20

1.6 托管执行和CLI / 22

1.7 多个.NET框架 / 26

1.8 小结 / 28

第2章 数据类型 / 29

2.1 基本数值类型 / 29

2.2 更多基本类型 / 36

2.3 null和void / 46

2.4 数据类型转换 / 47

2.5 小结 / 52

第3章 更多数据类型 / 53

3.1 类型的划分 / 53

3.2 可空修饰符 / 55

3.3 元组 / 57

3.4 数组 / 62

3.5 小结 / 74

第4章 操作符和控制流程 / 75

4.1 操作符 / 75

4.2 控制流程概述 / 87

4.3 代码块({}) / 91

4.4 代码块、作用域和声明空间 / 93

4.5 布尔表达式 / 94

4.6 按位操作符(<<,>>,|,&,^,~) / 101

4.7 控制流程语句(续) / 106

4.8 跳转语句 / 115

4.9 C#预处理器指令 / 119

4.10 小结 / 124

第5章 方法和参数 / 126

5.1 方法的调用 / 127

5.2 方法的声明 / 131

5.3 using指令 / 135

5.4 Main()的返回值和参数 / 139

5.5 高级方法参数 / 141

5.6 递归 / 149

5.7 方法重载 / 152

5.8 可选参数 / 154

5.9 用异常实现基本错误处理 / 157

5.10 小结 / 168

第6章 类 / 169

6.1 类的声明和实例化 / 172

6.2 实例字段 / 174

6.3 实例方法 / 176

6.4 使用this关键字 / 177

6.5 访问修饰符 / 183

6.6 属性 / 184

6.7 构造函数 / 197

6.8 静态成员 / 205

6.9 扩展方法 / 213

6.10 封装数据 / 214

6.11 嵌套类 / 216

6.12 分部类 / 218

6.13 小结 / 222

第7章 继承 / 223

7.1 派生 / 224

7.2 重写基类 / 232

7.3 抽象类 / 242

7.4 所有类都从System.Object派生 / 246

7.5 使用is操作符验证基础类型 / 247

7.6 用is操作符进行模式匹配 / 248

7.7 switch语句中的模式匹配 / 248

7.8 使用as操作符进行转换 / 250

7.9 小结 / 251

第8章 接口 / 252

8.1 接口概述 / 253

8.2 通过接口实现多态性 / 254

8.3 接口实现 / 258

8.4 在实现类和接口之间转换 / 262

8.5 接口继承 / 263

8.6 多接口继承 / 265

8.7 接口上的扩展方法 / 265

8.8 通过接口实现多继承 / 266

8.9 版本控制 / 269

8.10 比较接口和类 / 270

8.11 比较接口和特性 / 271

8.12 小结 / 271

第9章 值类型 / 272

9.1 结构 / 275

9.2 装箱 / 279

9.3 枚举 / 285

9.4 小结 / 293

第10章 合式类型 / 295

10.1 重写object的成员 / 295

10.2 操作符重载 / 305

10.3 引用其他程序集 / 311

10.4 定义命名空间 / 318

10.5 XML注释 / 320

10.6 垃圾回收 / 323

10.7 资源清理 / 325

10.8 推迟初始化 / 332

10.9 小结 / 333

第11章 异常处理 / 334

11.1 多异常类型 / 334

11.2 捕捉异常 / 336

11.3 常规catch块 / 339

11.4 异常处理规范 / 341

11.5 自定义异常 / 343

11.6 重新抛出包装的异常 / 346

11.7 小结 / 349

第12章 泛型 / 350

12.1 如果C#没有泛型 / 350

12.2 泛型类型概述 / 355

12.3 约束 / 364

12.4 泛型方法 / 374

12.5 协变性和逆变性 / 377

12.6 泛型的内部机制 / 382

12.7 小结 / 385

第13章 委托和Lambda表达式 / 386

13.1 委托概述 / 387

13.2 声明委托类型 / 390

13.3 Lambda表达式 / 396

13.4 匿名方法 / 401

13.5 小结 / 413

第14章 事件 / 414

14.1 使用多播委托编码Publish-Subscribe模式 / 415

14.2 理解事件 / 426

14.3 小结 / 435

第15章 支持标准查询操作符的集合接口 / 436

15.1 集合初始化器 / 437

15.2 IEnumerable使类成为集合 / 439

15.3 标准查询操作符 / 444

15.4 匿名类型之于LINQ / 470

15.5 小结 / 477

第16章 使用查询表达式的LINQ / 478

16.1 查询表达式概述 / 478

16.2 查询表达式只是方法调用 / 493

16.3 小结 / 494

第17章 构建自定义集合 / 496

17.1 更多集合接口 / 497

17.2 主要集合类 / 498

17.3 提供索引器 / 512

17.4 返回null或者空集合 / 515

17.5 迭代器 / 515

17.6 小结 / 527

第18章 反射、特性和动态编程 / 528

18.1 反射 / 528

18.2 特性 / 539

18.3 使用动态对象进行编程 / 557

18.4 小结 / 565

第19章 多线程处理 / 566

19.1 多线程处理基础 / 568

19.2 使用System.Threading / 572

19.3 异步任务 / 577

19.4 取消任务 / 591

19.5 基于任务的异步模式 / 596

19.6 并行迭代 / 618

19.7 并行执行LINQ查询 / 626

19.8 小结 / 630

第20章 线程同步 / 631

20.1 线程同步的意义 / 632

20.2 计时器 / 653

20.3 小结 / 655

第21章 平台互操作性和不安全代码 / 656

21.1 平台调用 / 657

21.2 指针和地址 / 667

21.3 通过委托执行不安全代码 / 674

21.4 小结 / 676

第22章 公共语言基础结构 / 677

22.1 CLI的定义 / 677

22.2 CLI的实现 / 678

22.3 .NET Standard / 680

22.4 BCL / 681

22.5 将C#编译成机器码 / 681

22.6 运行时 / 682

22.7 程序集、清单和模块 / 685

22.8 公共中间语言 / 687

22.9 公共类型系统 / 687

22.10 公共语言规范 / 688

22.11 元数据 / 688

22.12 .NET Native和AOT编译 / 689

22.13 小结 / 689



C# 7.0核心技术指南(原书第7版) [C# 7.0 in a Nutshell: The Definitive Reference]


编辑推荐

适读人群 :中高级开发人员,适合作为教材以外的补充书籍

这本畅销书籍将回答你在 C# 7.0、.NET CLR 和核心框架程序集遇到的各种问题。C# 语言从 2000 年发布到现在展现了惊人的灵活性和生命力。这种不停歇的变化也促使我们不断学习紧跟它的脚步。

内容简介

本书前三章将集中介绍C#语言。首先介绍基本的语法、类型和变量。而后会介绍一些高级的特性,如不安全代码以及预处理指令。如果你是C#语言的初学者,请循序渐进地阅读这些章节。

其余各章则涵盖了.NET Framework的核心功能,包括LINQ、XML、集合、并发、I/O

和网络、内存管理、反射、动态编程、特性、安全、应用程序域和原生互操作性等主题。第6章和第7章是后续主题的基础,除这两章之外,其余各章可以按照需要以任何顺序阅读。LINQ相关的三个章节好按顺序阅读。其中的一些章节需要一些并发相关的知识,这些知识将在第14章中介绍。

作者简介

Joseph Albahari 是《C# 6.0 in a Nutshell》以及《LINQ Pocket Reference》的合著者。他编写了流行的代码执行器与 LINQ 查询辅助工具 LINQPad。

Ben Albahari 是《C# 6.0 in a Nutshell》的合著者。他曾就职于 Microsoft,并担任 Entity Framework 的项目经理。

目录

前言1

第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 第1个C#程序21

2.2 语法24

2.2.1 标识符和关键字24

2.2.2 字面量、标点与运算符26

2.2.3 注释26

2.3 类型基础27

2.3.1 预定义类型示例27

2.3.2 自定义类型示例28

2.3.3 转换30

2.3.4 值类型与引用类型31

2.3.5 预定义类型分类34

2.4 数值类型35

2.4.1 数值字面量36

2.4.2 数值转换38

2.4.3 算术运算符39

2.4.4 自增和自减运算符39

2.4.5 特殊整数类型运算39

2.4.6 8位和16位整数类型41

2.4.7 特殊的float和double值41

2.4.8 double和decimal的对比42

2.4.9 实数的舍入误差43

2.5 布尔类型和运算符43

2.5.1 布尔类型转换43

2.5.2 相等和比较运算符44

2.5.3 条件运算符44

2.6 字符串和字符45

2.6.1 char转换46

2.6.2 字符串类型46

2.7 数组48

2.7.1 默认数组元素初始化49

2.7.2 多维数组49

2.7.3 简化数组初始化表达式51

2.7.4 边界检查52

2.8 变量和参数52

2.8.1 栈和堆52

2.8.2 明确赋值54

2.8.3 默认值54

2.8.4 参数55

2.8.5 引用局部变量(C# 7)61

2.8.6 引用返回值(C# 7)61

2.8.7 var隐式类型局部变量61

2.9 表达式和运算符62

2.9.1 基础表达式63

2.9.2 空表达式63

2.9.3 赋值表达式63

2.9.4 运算符优先级和结合性64

2.9.5 运算符表64

2.10 null运算符68

2.10.1 null合并运算符68

2.10.2 null条件运算符(C# 6)68

2.11 语句69

2.11.1 声明语句69

2.11.2 表达式语句70

2.11.3 选择语句71

2.11.4 迭代语句75

2.11.5 跳转语句77

2.11.6其他语句78

2.12 命名空间79

2.12.1 using指令80

2.12.2 using static指令(C# 6)80

2.12.3 命名空间中的规则81

2.12.4 类型和命名空间别名83

......