《C#8.0本质论》(华章科技·名家经典系列)马克·米凯利斯【文字版_PDF电子书_】

| 书名:C#8.0本质论 作者:MarkMichaelis 出版社:机械工业出版社 译者:周翀 出版日期:2022-3-1 页数:748 ISBN:9787111697824 |
0.0 豆瓣短评 |
点击喜欢 | 全网资源sm.nayona.cn |
内容简介:
作为历年来深受各层次开发人员欢迎的C#指南,本书讨论了C# 3.0到C# 8.0中的重要C#特性,强调了现代编程模式,可帮助读者编写简洁、强大、健壮、安全且易于维护的C#代码。
在本书中,世界知名C#专家Mark Michaelis对C#语言进行了全面而深入的探讨,并提供了关于空引用类型、索引和区间、增强模式匹配、异步流等关键C# 8.0增强功能的专业论述。他用简洁的例子阐释关键C#构造,并提供了大量优秀实践编程规范,可为你快速掌握专家级C#编程技能并进行高效软件开发提供翔实指导。
本书内容:
使用结构化编程构造直接编写功能代码
了解可空引用类型的复杂性和解决方案
彻底掌握C#对象构造,包括类、继承和接口
使用泛型、委托、lambda表达式和事件减少代码冗余
充分利用集合,包括新的标准查询运算符集合API
充分利用反射、属性和声明式编程范式
使用基于任务的异步模式和C# 8.0异步流改进多线程处理
通过并行处理数据和多线程任务提高性能
使用增强的模式匹配语法编写复杂类型
与用其他语言编写的非托管代码(包括基于C的API)进行互操作
探索C#程序与底层CLI运行时之间的关系
作者简介:
马克.米凯利斯( Mark Michaelis )
Mark Michaelis是创新型软件架构和开发公司IntelliTect的创始人、首席技术架构师和培训师。Mark领导着他的公司不断进取,同时在世界各地举办有关领导力或技术的会议,并代表微软或其他客户进行演讲。他还撰写了大量文章和书籍,并且是东华盛顿大学的客座教授、Spokane .NET用户组的创始人,以及每年一届的TEDx Coeur d'Alene活动的联合组织者。
作为世界知名的C#专家,Mark自2007年以来一直担任微软区域总监,并荣任微软MVP 超过25年。
Mark拥有伊利诺伊大学哲学专业文学学士学位和伊利诺伊理工大学计算机科学硕士学位。
目 录:
第1章 C# 概述 / 1
1.1 Hello, World / 2
1.2 C#语法基础 / 9
1.3 使用变量 / 16
1.4 控制台输入和输出 / 18
1.5 托管执行和CLI / 24
1.6 多个.NET框架 / 28
1.7 小结 / 30
第2章 数据类型 / 31
2.1 基本数值类型 / 31
2.2 更多基本类型 / 38
2.3 数据类型转换 / 49
2.4 小结 / 55
第3章 更多数据类型 / 56
3.1 类型的划分 / 56
3.2 将变量声明为可空 / 58
3.3 隐式类型的局部变量 / 62
3.4 元组 / 64
3.5 数组 / 68
3.6 小结 / 82
第4章 操作符和控制流程 / 83
4.1 操作符 / 83
4.2 控制流程概述 / 95
4.3 代码块 / 99
4.4 代码块、作用域和声明空间 / 101
4.5 布尔表达式 / 102
4.6 关于null的编程 / 107
4.7 按位操作符 / 112
4.8 控制流程语句 / 116
4.9 跳转语句 / 124
4.10 C#预处理器指令 / 129
4.11 小结 / 135
第5章 方法和参数 / 136
5.1 方法的调用 / 137
5.2 方法的声明 / 141
5.3 using指令 / 145
5.4 Main()的返回值和参数 / 149
5.5 高级方法参数 / 151
5.6 递归 / 159
5.7 方法重载 / 162
5.8 可选参数 / 164
5.9 用异常实现基本错误处理 / 167
5.10 小结 / 178
第6章 类 / 179
6.1 类的声明和实例化 / 182
6.2 实例字段 / 184
6.3 实例方法 / 186
6.4 使用this关键字 / 187
6.5 访问修饰符 / 193
6.6 属性 / 194
6.7 构造函数 / 207
6.8 不可空引用类型属性与构造函数 / 214
6.9 可空特性 / 217
6.10 解构函数 / 219
6.11 静态成员 / 220
6.12 扩展方法 / 228
6.13 封装数据 / 229
6.14 嵌套类 / 231
6.15 分部类 / 233
6.16 小结 / 236
第7章 继承 / 237
7.1 派生 / 238
7.2 重写基类 / 244
7.3 抽象类 / 253
7.4 所有类都从System.Object派生 / 258
7.5 用is操作符进行模式匹配 / 259
7.6 switch语句中的模式匹配 / 264
7.7 避免对多态类对象使用模式匹配 / 265
7.8 小结 / 267
第8章 接口 / 268
8.1 接口概述 / 269
8.2 通过接口实现多态性 / 270
8.3 接口实现 / 274
8.4 在实现类和接口之间转换 / 278
8.5 接口继承 / 278
8.6 多接口继承 / 280
8.7 接口上的扩展方法 / 281
8.8 版本升级 / 283
8.9 扩展方法与默认接口成员 / 295
8.10 比较接口和抽象类 / 296
8.11 比较接口和特性 / 297
8.12 小结 / 297
第9章 值类型 / 298
9.1 结构 / 301
9.2 装箱 / 305
9.3 枚举 / 311
9.4 小结 / 319
第10章 合式类型 / 321
10.1 重写object的成员 / 321
10.2 操作符重载 / 331
10.3 引用其他程序集 / 337
10.4 类型封装 / 342
10.5 定义命名空间 / 343
10.6 XML注释 / 346
10.7 垃圾回收 / 349
10.8 资源清理 / 352
10.9 推迟初始化 / 363
10.10 小结 / 365
第11章 异常处理 / 366
11.1 多异常类型 / 366
11.2 捕捉异常 / 368
11.3 重新抛出现有异常 / 370
11.4 常规catch块 / 371
11.5 异常处理规范 / 372
11.6 自定义异常 / 374
11.7 重新抛出包装的异常 / 377
11.8 小结 / 380
第12章 泛型 / 381
12.1 如果C#没有泛型 / 381
12.2 泛型类型概述 / 386
12.3 约束 / 395
12.4 泛型方法 / 407
12.5 协变性和逆变性 / 411
12.6 泛型的内部机制 / 416
12.7 小结 / 419
第13章 委托和Lambda表达式 / 420
13.1 委托概述 / 421
13.2 声明委托类型 / 424
13.3 Lambda表达式 / 430
13.4 匿名方法 / 435
13.5 委托没有结构相等性 / 436
13.6 外部变量 / 438
13.7 表达式树 / 441
13.8 小结 / 447
第14章 事件 / 448
14.1 使用多播委托实现Publish-Subscribe模式 / 449
14.2 理解事件 / 460
14.3 小结 / 468
第15章 支持标准查询操作符的集合接口 / 469
15.1 集合初始化器 / 470
15.2 IEnumerable使类成为集合 / 472
15.3 标准查询操作符 / 476
15.4 匿名类型之于LINQ / 503
15.5 小结 / 509
第16章 使用查询表达式的LINQ / 510
16.1 查询表达式概述 / 510
16.2 查询表达式只是方法调用 / 525
16.3 小结 / 526
第17章 构建自定义集合 / 528
17.1 更多集合接口 / 529
17.2 主要集合类 / 530
17.3 提供索引器 / 544
17.4 返回null或者空集合 / 547
17.5 迭代器 / 547
17.6 小结 / 559
第18章 反射、特性和动态编程 / 560
18.1 反射 / 560
18.2 nameof操作符 / 569
18.3 特性 / 571
18.4 使用动态对象进行编程 / 585
18.5 小结 / 592
第19章 多线程概述 / 594
19.1 多线程基础 / 595
19.2 异步任务 / 600
19.3 取消任务 / 614
19.4 使用System.Threading / 618
19.5 总结 / 619
第20章 基于任务的异步模式编程 / 620
20.1 同步执行高延迟操作 / 621
20.2 使用TPL实现异步执行高延迟操作 / 623
20.3 使用async/await实现基于任务的异步模式 / 627
20.4 异步返回值ValueTask / 632
20.5 异步流 / 633
20.6 IAsyncDisposable接口以及await using声明和语句 / 637
20.7 使用LINQ和IAsync-Enumerable / 637
20.8 返回void的异步方法 / 639
20.9 异步Lambda表达式和本地函数 / 642
20.10 任务调度器和同步上下文 / 647
20.11 在Windows UI程序中使用async/await / 649
20.12 小结 / 652
第21章 并行迭代 / 653
21.1 并行执行循环迭代 / 653
21.2 并行执行LINQ查询 / 661
21.3 小结 / 666
第22章 线程同步 / 667
22.1 线程同步的意义 / 668
22.2 计时器 / 689
22.3 小结 / 691
第23章 平台互操作性和不安全代码 / 692
23.1 平台调用 / 693
23.2 指针和地址 / 703
23.3 通过委托执行不安全代码 / 710
23.4 小结 / 711
第24章 公共语言基础结构 / 712
24.1 CLI的定义 / 712
24.2 CLI的实现 / 713
24.3 .NET Standard / 715
24.4 基类库 / 716
24.5 将C#编译成机器码 / 716
24.6 运行时 / 717
24.7 程序集、清单和模块 / 720
24.8 公共中间语言 / 722
24.9 公共类型系统 / 722
24.10 公共语言规范 / 723
24.11 元数据 / 723
24.12 .NET Native和AOT编译 / 724
24.13 小结 / 724
浏览器不支持脚本!
有需要联系v;hx-hx4
摘要:《C#8.0本质论》(华章科技·名家经典系列)是一部深入探讨C#编程语言核心特性的重要着作,作者马克·米凯利斯通过系统化的方法,全面解析了C# 8.0的关键概念和语言设计哲学。本文将从语言特性、性能优化、异步编程和泛型探索四个方面详细阐述该书的内容,旨在帮助读者深入理解和应用现代C#编程技术。
1、语言特性探索
《C#8.0本质论》首先深入探讨了C# 8.0引入的新特性,如Nullable引用类型、异步流和索引默认接口。这些特性不仅拓展了语言的表达能力,还提升了代码的可靠性和清晰度。米凯利斯通过具体示例和对比分析,帮助读者理解这些特性在实际项目中的应用场景和优势。
作者还对C#语言中已有的特性进行了深入剖析,如模式匹配、局部静态函数和元组。这些内容不仅有助于读者加深对语言本质的理解,还能指导他们在项目开发中的技术选型和优化决策。
此外,书中还探讨了C#语言发展的趋势和未来可能的演变方向,为读者在技术更新和项目迁移时提供了前瞻性的思考。
2、性能优化策略
在性能优化方面,《C#8.0本质论》通过深入的原理分析和实证研究,介绍了在C# 8.0中提升应用程序性能的策略和技术。作者详细讨论了内存管理、异步编程中的性能优化技巧以及LINQ查询的效率提升方法。
米凯利斯强调了在不同场景下选择合适的数据结构和算法对性能的重要影响,同时提供了具体的代码示例和性能测试结果,帮助读者理解和实践这些优化策略。
此外,书中还探讨了与平台相关的性能优化技术,如对特定硬件架构的优化和跨平台性能测试的方法论。
3、异步编程深度剖析
异步编程作为现代软件开发中的重要技术,受到了《C#8.0本质论》的深度关注。书中系统地介绍了C# 8.0中异步编程的新特性和最佳实践,包括异步方法、异步流和并发性的管理。
作者通过比较不同的异步编程模型和框架,分析了它们在性能、可维护性和可扩展性方面的优劣,为读者提供了在实际项目中选择和应用异步编程技术的依据。
此外,书中还讨论了异步编程中的常见陷阱和解决方案,帮助读者避免在实践中遇到的常见问题。
4、泛型探索与应用
泛型作为C#编程语言的重要组成部分,也是《C#8.0本质论》的重点研究对象之一。书中详细阐述了C# 8.0中泛型的新特性和进阶用法,如协变性、逆变性和不变性。
米凯利斯通过丰富的案例和实用技巧,帮助读者理解如何利用泛型提升代码的灵活性和重用性。他还探讨了泛型在数据结构、算法和面向对象设计中的广泛应用,以及在大型代码库中的扩展性和维护性。
此外,书中还涉及了泛型与委托、LINQ和异步编程模型的结合运用,为读者展示了在不同编程场景中泛型的实际应用。
总结:
《C#8.0本质论》通过对C# 8.0核心特性的深入剖析和实用技巧的详细讨论,为读者提供了全面掌握现代C#编程的重要资源。作者马克·米凯利斯通过系统化的方法,帮助读者理解并应用语言的最新进展,是每位C#开发者必备的参考书籍。
本文由nayona.cn整理
本文采摘于网络,不代表本站立场,转载联系作者并注明出处: https://sm.nayona.cn/xinnengyuan/376723.html
