C# 8.0 本質論 (Essential C# 8.0)

[美]Mark Michaelis

  • 出版商: 機械工業
  • 出版日期: 2022-03-18
  • 售價: $1,194
  • 貴賓價: 9.5$1,134
  • 語言: 簡體中文
  • 頁數: 748
  • 裝訂: 平裝
  • ISBN: 7111697820
  • ISBN-13: 9787111697824
  • 相關分類: C#
  • 此書翻譯自: Essential C# 8.0
  • 立即出貨 (庫存 < 3)

買這商品的人也買了...

商品描述

作為歷年來深受各層次開發人員歡迎的C#指南,
本書討論了從C# 3.0到8.0的重要的C#特性,強調了現代編程模式,
可幫助讀者編寫簡潔、強大、健壯、安全和易於維護的C#代碼。
C#專家Mark Michaelis對語言進行了全面而深入的探討,
提供了對關鍵C# 8.0增強、C# 8.0和.NET Core/.NET Standard的配合使用以及跨平台編譯的專業論述。
他用簡潔的例子闡釋了關鍵C#構造,並提供了大量實踐編程規範,
為你進行高效軟件開發打好基礎。

目錄大綱

譯者序
序言
前言
致謝
作者簡介
第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<T>  / 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