新书推荐 |《C# 7.0本质论》

(点击上方公众号,可快速关注)

新书推荐

C# 7.0本质论

点击阅读原文了解及购买


全面且专业的C#编程指南,经典畅销书最新升级,涵盖C# 7.0,世界级C#专家亲笔撰写,微软C#项目经理作序推荐。


内容简介


作为历年来深受各层次开发人员欢迎的C#指南,本书讨论了从C# 3.0到7.0的*重要的C#特性,强调了现代编程模式,可帮助读者编写简洁、强大、健壮、安全和易于维护的C#代码。世界级C#专家Mark Michaelis对语言进行了全面而深入的探讨,提供了对关键C# 7.0增强、C# 7.0和.NET Core/.NET Standard的配合使用以及跨平台编译的专业论述。


作者简介


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居住在华盛顿州的西雅图。


目录


译者序

推荐序

前言

致谢

作者简介


第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<T>使类成为集合  / 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


搜微信号 chinapubvip 加入群会员,每天会有折扣书、福利推荐,包你买到最划算的!



关于我们


想看更多有趣的文章可以关注我们的微信公众号“IT荐书”

我是IT荐书

我在IT荐书等你!!


还有福利点击二维码关注互动书城,下单就送还有各种折扣各种有活动

互动书城应有尽有,你还等什么?还不快关注?

这么好的事别忘了分享哦!!


 



关注微信公众号

了解更多活动