C# 8.0核心技術(shù)指南(深度探索C#和.NET知識(shí)體系)
定 價(jià):279 元
- 作者:[美]約瑟夫·阿壩哈瑞(Joseph Albahari),[
- 出版時(shí)間:2021/6/1
- ISBN:9787111682561
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP312.8-62
- 頁(yè)碼:1020
- 紙張:
- 版次:
- 開(kāi)本:16開(kāi)
本書(shū)全方位地介紹了 C# 的語(yǔ)言特性。在內(nèi)容上,它兼顧了各種類型的讀者。對(duì)于初學(xué)者,本書(shū)不論是介紹基本的語(yǔ)法,還是介紹高級(jí)的語(yǔ)言特性,都采用了講解和示例結(jié)合的方法。而對(duì)于經(jīng)驗(yàn)豐富的讀者,本書(shū)的每一章都詳盡而系統(tǒng),是絕佳的案頭參考書(shū)。
本書(shū)在前一版的基礎(chǔ)上進(jìn)行了大量的修訂工作。不但將既有的內(nèi)容和范例全部遷移到 .NET Core 之上,對(duì) C# 8.0 與 .NET Core 3.x 提供的新特性進(jìn)行了詳細(xì)的介紹,還在部分示例中專門對(duì)編寫(xiě)跨平臺(tái)運(yùn)行的程序的技巧或陷阱進(jìn)行了說(shuō)明。可以說(shuō),本書(shū)從內(nèi)容上涵蓋了目前 C# 與 .NET Core 全新正式發(fā)行版的內(nèi)容。
前言 1
第1章 C#和.NET Core簡(jiǎn)介7
1.1 面向?qū)ο?
1.2 類型安全性8
1.3 內(nèi)存管理8
1.4 平臺(tái)支持9
1.5 C#和公共語(yǔ)言運(yùn)行時(shí)9
1.6 框架與基礎(chǔ)類庫(kù)10
1.7 遺留框架和小眾框架11
1.8 Windows Runtime12
1.9 C#簡(jiǎn)史14
第2章 C#語(yǔ)言基礎(chǔ)26
2.1 第一個(gè)C#程序26
2.2 語(yǔ)法29
2.3 類型基礎(chǔ)32
2.4 數(shù)值類型40
2.5 布爾類型和運(yùn)算符48
2.6 字符串和字符49
2.7 數(shù)組52
2.8 變量和參數(shù)57
2.9 表達(dá)式和運(yùn)算符68
2.10 null運(yùn)算符72
2.11 語(yǔ)句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 訪問(wèn)權(quán)限修飾符123
3.6 接口125
3.7 枚舉類型131
3.8 嵌套類型134
3.9 泛型136
第4章 C#的高級(jí)特性149
4.1 委托149
4.2 事件158
4.3 Lambda表達(dá)式164
4.4 匿名方法169
4.5 try語(yǔ)句和異常169
4.6 枚舉類型和迭代器178
4.7 可空值類型183
4.8 可空引用類型(C# 8)188
4.9 擴(kuò)展方法191
4.10 匿名類型193
4.11 元組194
4.12 模式198
4.13 特性202
4.14 調(diào)用者信息特性204
4.15 動(dòng)態(tài)綁定205
4.16 運(yùn)算符重載213
4.17 不安全的代碼和指針216
4.18 預(yù)處理指令220
4.19 XML文檔222
第5章 框架概述227
5.1 .NET Standard227
5.2 框架與C#語(yǔ)言版本的關(guān)系230
5.3 參考程序集231
5.4 CLR和BCL231
5.5 應(yīng)用程序框架235
第6章 框架基礎(chǔ)239
6.1 字符串與文本處理239
6.2 日期和時(shí)間252
6.3 日期和時(shí)區(qū)259
6.4 格式化和解析265
6.5 標(biāo)準(zhǔn)格式字符串與解析標(biāo)記271
6.6 其他轉(zhuǎn)換機(jī)制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 實(shí)用類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 擴(kuò)展相等比較和排序操作351
第8章 LINQ查詢359
8.1 入門359
8.2 流式語(yǔ)法361
8.3 查詢表達(dá)式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)建查詢表達(dá)式404
第9章 LINQ運(yùn)算符409
9.1 概述410
9.2 篩選413
9.3 映射417
9.4 連接429
9.5 排序437
9.6 分組440
9.7 集合運(yùn)算符443
9.8 轉(zhuǎn)換方法444
9.9 元素運(yùn)算符447
9.10 聚合方法449
9.11 量詞運(yùn)算符453
9.12 生成序列的方法455
第10章 LINQ to XML456
10.1 架構(gòu)概述456
10.2 X-DOM概述457
10.3 實(shí)例化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章 對(duì)象銷毀與垃圾回收509
12.1 IDisposable接口、Dispose方法和Close方法509
12.2 自動(dòng)垃圾回收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 進(jìn)程與線程處理542
13.5 StackTrace和StackFrame類542
13.6 Windows事件日志544
13.7 性能計(jì)數(shù)器546
13.8 Stopwatch類551
13.9 跨平臺(tái)診斷工具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中進(jìn)行文件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 編寫(xiě)HTTP服務(wù)器685
16.7 使用FTP687
16.8 使用DNS689
16.9 通過(guò)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 二進(jìn)制序列化器721
17.5 二進(jìn)制序列化特性723
17.6 使用ISerializable接口進(jìn)行二進(jìn)制序列化725
第18章 程序集729
18.1 程序集的組成部分729
18.2 強(qiáng)名稱和程序集簽名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 動(dòng)態(tài)生成代碼794
19.6 生成程序集和類型800
19.7 生成類型成員803
19.8 生成泛型方法和泛型類型809
19.9 復(fù)雜的生成目標(biāo)811
19.10 解析IL814
第20章 動(dòng)態(tài)編程820
20.1 動(dòng)態(tài)語(yǔ)言運(yùn)行時(shí)820
20.2 數(shù)值類型統(tǒng)一822
20.3 動(dòng)態(tài)成員重載解析823
20.4 實(shí)現(xiàn)動(dòng)態(tài)對(duì)象828
20.5 與動(dòng)態(tài)語(yǔ)言進(jìn)行互操作832
第21章 加密834
21.1 概述834
21.2 Windows數(shù)據(jù)保護(hù)835
21.3 散列算法836
21.4 對(duì)稱加密837
21.5公鑰加密和簽名842
第22章 高級(jí)線程處理846
22.1 同步概述846
22.2 排他鎖847
22.3 鎖和線程安全性855
22.4 非排他鎖860
22.5 使用事件等待句柄發(fā)送信號(hào)866
22.6 Barrier類874
22.7 延遲初始化875
22.8 線程本地存儲(chǔ)877
22.9 定時(shí)器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中訪問(wèn)C#對(duì)象954
第26章 正則表達(dá)式956
26.1 正則表達(dá)式基礎(chǔ)956
26.2 量詞符號(hào)961
26.3 零寬度斷言962
26.4 分組965
26.5 替換并分割文本966
26.6 正則表達(dá)式實(shí)例968
26.7 正則表達(dá)式語(yǔ)言參考971
第27章 Roslyn編譯器975
27.1 Roslyn架構(gòu)975
27.2 語(yǔ)法樹(shù)976
27.3 編譯過(guò)程和語(yǔ)義模型991
作者介紹
封面介紹