书籍详情

C# 8.0本质论

C# 8.0本质论

作者:马克·米凯利斯(Mark Michaelis) 著

出版社:机械工业出版社

出版时间:2022-04-01

ISBN:9787111697824

定价:¥199.00

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

读书导航