专题栏目:ARVRMR虚拟现实

《C# 7.0本质论(英文版)》

书籍简介:

作为历年来深受各层次开发人员欢迎的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居住在华盛顿州的西雅图。

出版日期:

2019年08月

章节目录:

第1章 C#概述1
1.1 Hello, World2
1.2 C#语法基础11
1.3 使用变量20
1.4 控制台输入和输出24
1.5 注释28
1.6 托管执行和CLI32
1.7 多个.NET框架37
第2章 数据类型43
2.1 基本数值类型44
2.2 更多基本类型53
2.3 null和void67
2.4 数据类型转换69
第3章 更多数据类型77
3.1 类型的划分77
3.2 可空修饰符80
3.3 元组83
3.4 数组90
第4章 操作符和控制流程109
4.1 操作符110
4.2 控制流程概述126
4.3 代码块132
4.4 代码块、作用域和声明空间135
4.5 布尔表达式137
4.6 按位操作符147
4.7 控制流程语句(续)153
4.8 跳转语句165
4.9 C#预处理器指令171
第5章 方法和参数181
5.1 调用方法182
5.2 声明方法189
5.3 using指令195
5.4 Main()的返回值和参数200
5.5 高级方法参数203
5.6 递归215
5.7 方法重载217
5.8 可选参数220
5.9 用异常实现基本错误处理225
第6章 类241
6.1 类的声明和实例化245
6.2 实例字段249
6.3 实例方法251
6.4 使用this关键字252
6.5 访问修饰符259
6.6 属性261
6.7 构造函数278
6.8 静态成员289
6.9 扩展方法299
6.10 封装数据301
6.11 嵌套类304
6.12 分部类307
第7章 继承313
7.1 派生314
7.2 重写基类326
7.3 抽象类338
7.4 所有类都从System.Object派生344
7.5 使用is操作符验证基础类型345
7.6 使用is操作符进行模式匹配346
7.7 switch语句中的模式匹配347
7.8 使用as操作符进行转换349
第8章 接口353
8.1 接口概述354
8.2 通过接口实现多态性355
8.3 接口实现360
8.4 在实现类和接口之间转换366
8.5 接口继承366
8.6 多接口继承369
8.7 接口上的扩展方法369
8.8 通过接口实现多继承371
8.9 版本控制374
8.10 比较接口和类375
8.11 比较接口和特性377
第9章 值类型379
9.1 结构383
9.2 装箱390
9.3 枚举398
第10章 合式类型411
10.1 重写object的成员411
10.2 操作符重载424
10.3 引用其他程序集432
10.4 定义命名空间442
10.5 XML注释445
10.6 垃圾回收449
10.7 资源清理452
10.8 推迟初始化461
第11章 异常处理465
11.1 多异常类型465
11.2 捕捉异常469
11.3 常规catch块473
11.4 异常处理规范475
11.5 自定义异常479
11.6 重新抛出包装的异常483
第12章 泛型487
12.1 如果C#没有泛型488
12.2 泛型类型概述493
12.3 约束506
12.4 泛型方法519
12.5 协变性和逆变性524
12.6 泛型的内部机制531
第13章 委托和Lambda表达式537
13.1 委托概述538
13.2 声明委托类型542
13.3 Lambda表达式550
13.4 匿名方法556
第14章 事件575
14.1 使用多播委托编码Publish-Subscribe模式576
14.2 理解事件591
第15章 支持标准查询操作符的集合接口603
15.1 集合初始化器604
15.2 IEnumerable使类成为集合607
15.3 标准查询操作符613
15.4 匿名类型之于LINQ646
第16章 使用查询表达式的LINQ657
16.1 查询表达式概述658
16.2 查询表达式只是方法调用676
第17章 构建自定义集合679
17.1 更多集合接口680
17.2 主要集合类683
17.3 提供索引器702
17.4 返回null或者空集合705
17.5 迭代器705
第18章 反射、特性和动态编程721
18.1 反射722
18.2 特性735
18.3 使用动态对象进行编程759
第19章 多线程处理771
19.1 多线程处理基础774
19.2 使用System.Threading781
19.3 异步任务789
19.4 取消任务810
19.5 基于任务的异步模式816
19.6 并行迭代846
19.7 并行执行LINQ查询856
第20章 线程同步863
20.1 线程同步的意义864
20.2 计时器893
第21章 平台互操作性和不安全代码897
21.1 平台调用898
21.2 指针和地址910
21.3 通过委托执行不安全代码920
第22章 公共语言基础结构(CLI)923
22.1 CLI的定义924
22.2 CLI的实现925
22.3 .NET标准928
22.4 BCL929
22.5 C#编译成机器码929
22.6 运行时932
22.7 程序集、清单和模块936
22.8 公共中间语言939
22.9 公共类型系统939
22.10 公共语言规范940
22.11 元数据941
22.12 NET Native和AOT编译942

封面图:

发表评论

相关文章