C# 8.0核心技術(shù)指南(深度探索C#和.NET知識體系)
定 價:279 元
- 作者:[美]約瑟夫·阿壩哈瑞(Joseph Albahari),[
- 出版時間:2021/6/1
- ISBN:9787111682561
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TP312.8-62
- 頁碼:1020
- 紙張:
- 版次:
- 開本:16開
本書全方位地介紹了 C# 的語言特性。在內(nèi)容上,它兼顧了各種類型的讀者。對于初學(xué)者,本書不論是介紹基本的語法,還是介紹高級的語言特性,都采用了講解和示例結(jié)合的方法。而對于經(jīng)驗豐富的讀者,本書的每一章都詳盡而系統(tǒng),是絕佳的案頭參考書。
本書在前一版的基礎(chǔ)上進行了大量的修訂工作。不但將既有的內(nèi)容和范例全部遷移到 .NET Core 之上,對 C# 8.0 與 .NET Core 3.x 提供的新特性進行了詳細(xì)的介紹,還在部分示例中專門對編寫跨平臺運行的程序的技巧或陷阱進行了說明?梢哉f,本書從內(nèi)容上涵蓋了目前 C# 與 .NET Core 全新正式發(fā)行版的內(nèi)容。
前言 1
第1章 C#和.NET Core簡介7
1.1 面向?qū)ο?
1.2 類型安全性8
1.3 內(nèi)存管理8
1.4 平臺支持9
1.5 C#和公共語言運行時9
1.6 框架與基礎(chǔ)類庫10
1.7 遺留框架和小眾框架11
1.8 Windows Runtime12
1.9 C#簡史14
第2章 C#語言基礎(chǔ)26
2.1 第一個C#程序26
2.2 語法29
2.3 類型基礎(chǔ)32
2.4 數(shù)值類型40
2.5 布爾類型和運算符48
2.6 字符串和字符49
2.7 數(shù)組52
2.8 變量和參數(shù)57
2.9 表達式和運算符68
2.10 null運算符72
2.11 語句74
2.12 命名空間84
第3章 在C#中創(chuàng)建類型91
3.1 類91
3.2 繼承108
3.3 object類型117
3.4 結(jié)構(gòu)體120
3.5 訪問權(quán)限修飾符123
3.6 接口125
3.7 枚舉類型131
3.8 嵌套類型134
3.9 泛型136
第4章 C#的高級特性149
4.1 委托149
4.2 事件158
4.3 Lambda表達式164
4.4 匿名方法169
4.5 try語句和異常169
4.6 枚舉類型和迭代器178
4.7 可空值類型183
4.8 可空引用類型(C# 8)188
4.9 擴展方法191
4.10 匿名類型193
4.11 元組194
4.12 模式198
4.13 特性202
4.14 調(diào)用者信息特性204
4.15 動態(tài)綁定205
4.16 運算符重載213
4.17 不安全的代碼和指針216
4.18 預(yù)處理指令220
4.19 XML文檔222
第5章 框架概述227
5.1 .NET Standard227
5.2 框架與C#語言版本的關(guān)系230
5.3 參考程序集231
5.4 CLR和BCL231
5.5 應(yīng)用程序框架235
第6章 框架基礎(chǔ)239
6.1 字符串與文本處理239
6.2 日期和時間252
6.3 日期和時區(qū)259
6.4 格式化和解析265
6.5 標(biāo)準(zhǔn)格式字符串與解析標(biāo)記271
6.6 其他轉(zhuǎn)換機制278
6.7 全球化282
6.8 操作數(shù)字283
6.9 枚舉287
6.10 Guid結(jié)構(gòu)體290
6.11 相等比較291
6.12 順序比較301
6.13 實用類304
第7章 集合309
7.1 枚舉309
7.2 ICollection和IList接口316
7.3 Array類320
7.4 List、Queue、Stack和Set328
7.5 字典336
7.6 自定義集合與代理342
7.7 不可變集合348
7.8 擴展相等比較和排序操作351
第8章 LINQ查詢359
8.1 入門359
8.2 流式語法361
8.3 查詢表達式367
8.4 延遲執(zhí)行372
8.5 子查詢378
8.6 構(gòu)造方式381
8.7 映射方式384
8.8 解釋型查詢386
8.9 EF Core393
8.10 構(gòu)建查詢表達式404
第9章 LINQ運算符409
9.1 概述410
9.2 篩選413
9.3 映射417
9.4 連接429
9.5 排序437
9.6 分組440
9.7 集合運算符443
9.8 轉(zhuǎn)換方法444
9.9 元素運算符447
9.10 聚合方法449
9.11 量詞運算符453
9.12 生成序列的方法455
第10章 LINQ to XML456
10.1 架構(gòu)概述456
10.2 X-DOM概述457
10.3 實例化X-DOM460
10.4 導(dǎo)航和查詢463
10.5 更新X-DOM468
10.6 使用Value471
10.7 文檔和聲明474
10.8 名稱和命名空間477
10.9 注解483
10.10 將數(shù)據(jù)映射到X-DOM484
第11章 其他XML與JSON技術(shù)488
11.1 XmlReader488
11.2 XmlWriter496
11.3 XmlReader/XmlWriter的使用模式498
11.4 處理JSON502
第12章 對象銷毀與垃圾回收509
12.1 IDisposable接口、Dispose方法和Close方法509
12.2 自動垃圾回收514
12.3 終結(jié)器517
12.4 垃圾回收器的工作方式521
12.5 托管內(nèi)存泄漏527
12.6 弱引用530
第13章 診斷534
13.1 條件編譯534
13.2 Debug和Trace類537
13.3 調(diào)試器的集成541
13.4 進程與線程處理542
13.5 StackTrace和StackFrame類542
13.6 Windows事件日志544
13.7 性能計數(shù)器546
13.8 Stopwatch類551
13.9 跨平臺診斷工具551
第14章 并發(fā)與異步556
14.1 概述556
14.2 線程557
14.3 任務(wù)572
14.4 異步原則580
14.5 C#的異步函數(shù)585
14.6 異步模式603
14.7 舊有的異步編程模式611
第15章 流與I/O614
15.1 流的架構(gòu)614
15.2 使用流616
15.3 流適配器629
15.4 壓縮流637
15.5 操作ZIP文件640
15.6 文件與目錄操作641
15.7 在UWP中進行文件I/O操作652
15.8 操作系統(tǒng)安全性656
15.9 內(nèi)存映射文件659
第16章 網(wǎng)絡(luò)663
16.1 .NET網(wǎng)絡(luò)架構(gòu)663
16.2 地址與端口665
16.3 URI666
16.4 客戶端類668
16.5 使用HTTP681
16.6 編寫HTTP服務(wù)器685
16.7 使用FTP687
16.8 使用DNS689
16.9 通過SmtpClient類發(fā)送郵件690
16.10 使用TCP691
16.11 使用TCP接收POP3郵件694
16.12 在UWP中使用TCP696
第17章 序列化699
17.1 序列化的概念699
17.2 XML 序列化器703
17.3 JSON 序列化器712
17.4 二進制序列化器721
17.5 二進制序列化特性723
17.6 使用ISerializable接口進行二進制序列化725
第18章 程序集729
18.1 程序集的組成部分729
18.2 強名稱和程序集簽名733
18.3 程序集名稱735
18.4 認(rèn)證代碼簽名737
18.5 資源和附屬程序集739
18.6 程序集的加載、解析與隔離747
第19章 反射和元數(shù)據(jù)768
19.1 反射和激活類型768
19.2 反射和調(diào)用成員775
19.3 反射程序集788
19.4 使用特性789
19.5 動態(tài)生成代碼794
19.6 生成程序集和類型800
19.7 生成類型成員803
19.8 生成泛型方法和泛型類型809
19.9 復(fù)雜的生成目標(biāo)811
19.10 解析IL814
第20章 動態(tài)編程820
20.1 動態(tài)語言運行時820
20.2 數(shù)值類型統(tǒng)一822
20.3 動態(tài)成員重載解析823
20.4 實現(xiàn)動態(tài)對象828
20.5 與動態(tài)語言進行互操作832
第21章 加密834
21.1 概述834
21.2 Windows數(shù)據(jù)保護835
21.3 散列算法836
21.4 對稱加密837
21.5公鑰加密和簽名842
第22章 高級線程處理846
22.1 同步概述846
22.2 排他鎖847
22.3 鎖和線程安全性855
22.4 非排他鎖860
22.5 使用事件等待句柄發(fā)送信號866
22.6 Barrier類874
22.7 延遲初始化875
22.8 線程本地存儲877
22.9 定時器881
第23章 并行編程885
23.1 選擇PFX的原因885
23.2 PLINQ888
23.3 Parallel類900
23.4 任務(wù)并行907
23.5 處理AggregateException916
23.6 并發(fā)集合919
23.7 BlockingCollection類922
第24章 Span和Memory926
24.1 Span和切片927
24.2 Memory類930
24.3 前向枚舉器931
24.4 操作棧分配內(nèi)存和非托管內(nèi)存933
第25章 原生程序和COM組件互操作性935
25.1 調(diào)用原生DLL935
25.2 類型的封送936
25.3 非托管代碼中的回調(diào)函數(shù)940
25.4 模擬C共用體941
25.5 共享內(nèi)存942
25.6 將結(jié)構(gòu)體映射到非托管內(nèi)存944
25.7 COM互操作性948
25.8 在C#中調(diào)用COM組件950
25.9 內(nèi)嵌互操作類型953
25.10 在COM中訪問C#對象954
第26章 正則表達式956
26.1 正則表達式基礎(chǔ)956
26.2 量詞符號961
26.3 零寬度斷言962
26.4 分組965
26.5 替換并分割文本966
26.6 正則表達式實例968
26.7 正則表達式語言參考971
第27章 Roslyn編譯器975
27.1 Roslyn架構(gòu)975
27.2 語法樹976
27.3 編譯過程和語義模型991
作者介紹
封面介紹