日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > C# >内容正文

C#

持续畅销20年的《C#高级编程》出第11版了!

發(fā)布時間:2023/12/4 C# 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 持续畅销20年的《C#高级编程》出第11版了! 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

TA是誰?


Wrox精品紅皮書,


引領(lǐng)無數(shù)程序員進(jìn)入程序開發(fā)殿堂,


C#專家級指南,


是經(jīng)驗豐富的程序員提高效率的更快捷方式,

?

連續(xù)暢銷20年,累計銷量超30萬冊。



TA出生名門:

? ? ??



?

?TA戰(zhàn)績輝煌:


2019新的征程:


11次全新升級,更新至C#7??.NET Core 2.0

?

C#?7內(nèi)幕指南,


發(fā)布為NuGet包的每個.NET Core部分都進(jìn)行了更新,


展示如何將.NET引入非微軟平臺,如何操作工具。





TA的行業(yè)贊譽(yù):


目錄(上下滑動顯示更多內(nèi)容)




第 I 部分 C# 語 言

第1 章 .NET 應(yīng)用程序和工具 ? 3

1.1 選擇技術(shù) ? 3

1.2 回顧.NET 歷史 ? 4

1.2.1 C# 1.0——一種新語言 ?4

1.2.2 帶有泛型的C# 2 和.NET 2 ?6

1.2.3 .NET 3.0——Windows Presentation Foundation ? 6

1.2.4 C# 3 和.NET 3.5——LINQ ? 6

1.2.5 C# 4 和.NET 4.0——dynamic 和TPL ? 7

1.2.6 C# 5 和異步編程 ? 7

1.2.7 C# 6 和.NET Core 1.0 ? 8

1.2.8 C# 7 和.NET Core 2.0 ? ?8

1.2.9 選擇技術(shù),繼續(xù)前進(jìn) ? ?9

1.3 .NET 術(shù)語 ? ?10

1.3.1 .NET Framework ? ? ?11

1.3.2 .NET Core ? ? ?11

1.3.3 .NET Standard ? ?11

1.3.4 NuGet 包 ? 12

1.3.5 名稱空間 ? 12

1.3.6 公共語言運(yùn)行庫 ? 13

1.3.7 Windows 運(yùn)行庫 ? 13

1.4 用.NET Core CLI 編譯 ?14

1.4.1 設(shè)置環(huán)境 ? 14

1.4.2 創(chuàng)建應(yīng)用程序 ? 15

1.4.3 構(gòu)建應(yīng)用程序 ? 16

1.4.4 運(yùn)行應(yīng)用程序 ? 16

1.4.5 創(chuàng)建Web 應(yīng)用程序 ? 17

1.4.6 發(fā)布應(yīng)用程序 ? 17

1.5 使用Visual Studio 2017 ? 19

1.6 應(yīng)用程序類型和技術(shù) ? 24

1.6.1 數(shù)據(jù)訪問 ? 24

1.6.2 Windows 應(yīng)用程序 ? 24

1.6.3 Xamarin ? ?24

1.6.4 Web 應(yīng)用程序 ? ?25

1.6.5 Web API ? ? 25

1.6.6 WebHooks 和SignalR ? 25

1.6.7 Microsoft Azure ? ? 25

1.7 開發(fā)工具 ? ?26

1.7.1 Visual Studio Community ? 27

1.7.2 Visual Studio Professional ? 27

1.7.3 Visual Studio Enterprise ? 27

1.7.4 Visual Studio for Mac ? 27

1.7.5 Visual Studio Code ? 27

1.8 小結(jié) ? ?27

第2 章 核心C# ? 29

2.1 C#基礎(chǔ) ? ? 29

2.2 變量 ? ?31

2.2.1 初始化變量 ? ?31

2.2.2 類型推斷 ? ?32

2.2.3 變量的作用域 ? ?33

2.2.4 常量 ? ?34

2.3 預(yù)定義數(shù)據(jù)類型 ? ? 35

2.3.1 值類型和引用類型 ? ?35

2.3.2 .NET 類型 ? ? 36

2.3.3 預(yù)定義的值類型 ? ?36

2.3.4 預(yù)定義的引用類型 ? 40

2.4 程序流控制 ? ?42

2.4.1 條件語句 ? ?42

2.4.2 循環(huán) ? ?44

2.4.3 跳轉(zhuǎn)語句 ? ?47

2.5 名稱空間 ? ?47

2.5.1 using 語句 ? ?48

2.5.2 名稱空間的別名 ? ?49

2.6 Main()方法 ? ?49

2.7 使用注釋 ? ?50

2.7.1 源文件中的內(nèi)部注釋 ? 50

2.7.2 XML 文檔 ? ? 51

2.8 C#預(yù)處理器指令 ? ?52

2.8.1 #define 和#undef ? ?52

2.8.2 #if、#elif、#else 和#endif ? ?52

2.8.3 #warning 和 # error ? ?53

2.8.4 #region 和#endregion ? 53

2.8.5 #line ? ? 53

2.8.6 #pragma ? ? 54

2.9 C#編程準(zhǔn)則 ? ?54

2.9.1 關(guān)于標(biāo)識符的規(guī)則 ? ?54

2.9.2 用法約定 ? ?55

2.10 小結(jié) ? ? ? 58

第3 章 對象和類型 ? 59

3.1 創(chuàng)建及使用類 ? ? 60

3.2 類和結(jié)構(gòu) ? ?60

3.3 類 ? ?61

3.3.1 字段 ? ?61

3.3.2 只讀字段 ? ?61

3.3.3 屬性 ? ?62

3.3.4 匿名類型 ? ?65

3.3.5 方法 ? ?66

3.3.6 構(gòu)造函數(shù) ? ?69

3.4 結(jié)構(gòu) ? ?73

3.4.1 結(jié)構(gòu)是值類型 ? ? 74

3.4.2 只讀結(jié)構(gòu) ? ?75

3.4.3 結(jié)構(gòu)和繼承 ? ?75

3.4.4 結(jié)構(gòu)的構(gòu)造函數(shù) ? ?75

3.4.5 ref 結(jié)構(gòu) ? ? 76

3.5 按值和按引用傳遞參數(shù) ? 76

3.5.1 ref 參數(shù) ? ? 77

3.5.2 out 參數(shù) ? ?77

3.5.3 in 參數(shù) ? ?78

3.6 可空類型 ? ?79

3.7 枚舉類型 ? ?79

3.8 部分類 ? ? 81

3.9 擴(kuò)展方法 ? ?83

3.10 Object 類 ? ?83

3.11 小結(jié) ? ?84

第4 章 繼承 ? 85

4.1 面向?qū)ο?? ?85

4.2 繼承的類型 ? ?85

4.2.1 多重繼承 ? ?86

4.2.2 結(jié)構(gòu)和類 ? ?86

4.3 實(shí)現(xiàn)繼承 ? ?86

4.3.1 虛方法 ? ?87

4.3.2 多態(tài)性 ? ?88

4.3.3 隱藏方法 ? ?89

4.3.4 調(diào)用方法的基類版本 ? ?90

4.3.5 抽象類和抽象方法 ? 90

4.3.6 密封類和密封方法 ? 91

4.3.7 派生類的構(gòu)造函數(shù) ? 91

4.4 修飾符 ? ? ?93

4.4.1 訪問修飾符 ? ? 93

4.4.2 其他修飾符 ? ? 94

4.5 接口 ? ?94

4.5.1 定義和實(shí)現(xiàn)接口 ? ? 95

4.5.2 派生的接口 ? ? 97

4.6 is 和as 運(yùn)算符 ? ?98

4.7 小結(jié) ? ?99

第5 章 泛型 ? ?100

5.1 泛型概述 ? ? 100

5.1.1 性能 ? ?101

5.1.2 類型安全 ? ?102

5.1.3 二進(jìn)制代碼的重用 ? ?102

5.1.4 代碼的擴(kuò)展 ? ?102

5.1.5 命名約定 ? ?102

5.2 創(chuàng)建泛型類 ? ?103

5.3 泛型類的功能 ? ?105

5.3.1 默認(rèn)值 ? ?106

5.3.2 約束 ? ?106

5.3.3 繼承 ? ?108

5.3.4 靜態(tài)成員 ? ?108

5.4 泛型接口 ? ? 109

5.4.1 協(xié)變和抗變 ? ?109

5.4.2 泛型接口的協(xié)變 ? 110

5.4.3 泛型接口的抗變 ? 111

5.5 泛型結(jié)構(gòu) ? 111

5.6 泛型方法 ? 113

5.6.1 泛型方法示例 ? 113

5.6.2 帶約束的泛型方法 ? ?114

5.6.3 帶委托的泛型方法 ? ?115

5.6.4 泛型方法規(guī)范 ? ? ? 115

5.7 小結(jié) ? ?116

第6 章 運(yùn)算符和類型強(qiáng)制轉(zhuǎn)換 ? 117

6.1 運(yùn)算符和類型轉(zhuǎn)換 ? ?117

6.2 運(yùn)算符 ? 118

6.2.1 運(yùn)算符的簡化操作 ? ? ?119

6.2.2 運(yùn)算符的優(yōu)先級和關(guān)聯(lián)性 ? ? 125

6.3 使用二進(jìn)制運(yùn)算符 ? ? ? ?126

6.3.1 位的移動 ? ? ? ? ? ?128

6.3.2 有符號數(shù)和無符號數(shù) ? ?128

6.4 類型的安全性 ? ? ? 129

6.4.1 類型轉(zhuǎn)換 ? ? ? ? ? 130

6.4.2 裝箱和拆箱 ? ? ? ? 132

6.5 比較對象的相等性 ? ?133

6.5.1 比較引用類型的相等性 ? 133

6.5.2 比較值類型的相等性 ? ? 134

6.6 運(yùn)算符重載 ? ? ? ?135

6.6.1 運(yùn)算符的工作方式 ? ? ? 135

6.6.2 運(yùn)算符重載的示例:Vector 結(jié)構(gòu) ? ? 136

6.6.3 比較運(yùn)算符的重載 ? ? ? 139

6.6.4 可以重載的運(yùn)算符 ? ? ? 140

6.7 實(shí)現(xiàn)自定義的索引運(yùn)算符 ? ? 141

6.8 用戶定義的類型強(qiáng)制轉(zhuǎn)換 ? ? 142

6.8.1 實(shí)現(xiàn)用戶定義的類型強(qiáng)制轉(zhuǎn)換 ? ? 143

6.8.2 多重類型強(qiáng)制轉(zhuǎn)換 ? ? ? 147

6.9 小結(jié) ? ? ? 150

第7 章 數(shù)組 ? ? 151

7.1 相同類型的多個對象 ? ?151

7.2 簡單數(shù)組 ? 152

7.2.1 數(shù)組的聲明 ? 152

7.2.2 數(shù)組的初始化 ? 152

7.2.3 訪問數(shù)組元素 ? 153

7.2.4 使用引用類型 ? 153

7.3 多維數(shù)組 ? 154

7.4 鋸齒數(shù)組 ? 155

7.5 Array 類 ? 156

7.5.1 創(chuàng)建數(shù)組 ? 156

7.5.2 復(fù)制數(shù)組 ? 156

7.5.3 排序 ? ? ?157

7.6 數(shù)組作為參數(shù) ? 159

7.7 數(shù)組協(xié)變 ? 159

7.8 枚舉 ? 160

7.8.1 IEnumerator 接口 ? ? 160

7.8.2 foreach 語句 ? ? 160

7.8.3 yield 語句 ? 161

7.9 結(jié)構(gòu)比較 ? 164

7.10 Span ? ? ?165

7.10.1 創(chuàng)建切片 ? 166

7.10.2 使用Span 改變值 ? ?166

7.10.3 只讀的Span ? ?167

7.11 數(shù)組池 ? ? 167

7.11.1 創(chuàng)建數(shù)組池 ? ? 168

7.11.2 從池中租用內(nèi)存 ? ?168

7.11.3 將內(nèi)存返回給池 ? ?168

7.12 小結(jié) ? ? ? 169

第8 章 委托、lambda 表達(dá)式和事件 ? ?170

8.1 引用方法 ? ? ? ?170

8.2 委托 ? ?170

8.2.1 聲明委托 ? ?171

8.2.2 使用委托 ? ?172

8.2.3 簡單的委托示例 ? ?174

8.2.4 Action<T>和Func<T>委托 ? ? 175

8.2.5 BubbleSorter 示例 ? ? ?176

8.2.6 多播委托 ? ?177

8.2.7 匿名方法 ? ?180

8.3 lambda 表達(dá)式 ? ?181

8.3.1 參數(shù) ? ? ?181

8.3.2 多行代碼 ? ?181

8.3.3 閉包 ? ? 182

8.4 事件 ? ? 182

8.4.1 事件發(fā)布程序 ? ?182

8.4.2 事件偵聽器 ? ?184

8.5 小結(jié) ? ?185

第9 章 字符串和正則表達(dá)式 186

9.1 System.String 類 ? ?187

9.1.1 構(gòu)建字符串 ? ?188

9.1.2 StringBuilder 成員 ? 190

9.2 字符串格式 ? ? ? 190

9.2.1 字符串插值 ? ? ? ?191

9.2.2 日期時間和數(shù)字的格式 ? ?192

9.2.3 自定義字符串格式 ? ? 193

9.3 正則表達(dá)式 ? ? ?194

9.3.1 正則表達(dá)式概述 ? ?194

9.3.2 RegularExpressionsPlayground 示例 ? ?195

9.3.3 顯示結(jié)果 ? ?197

9.3.4 匹配、組和捕獲 ? ?198

9.4 字符串和Span ? ?200

9.5 小結(jié) ? ?201

第10 章 集合 ? ? 202

10.1 概述 ? ? 202

10.2 集合接口和類型 ? ?203

10.3 列表 ? ? 203

10.3.1 創(chuàng)建列表 ? ?204

10.3.2 只讀集合 ? ?210

10.4 隊列 ? ? 210

10.5 棧 ? ?213

10.6 鏈表 ? ? 214

10.7 有序列表 ? ?217

10.8 字典 ? ? 219

10.8.1 字典初始化器 ? 219

10.8.2 鍵的類型 ? ?219

10.8.3 字典示例 ? ?220

10.8.4 Lookup 類 ? ?223

10.8.5 有序字典 ? ?223

10.9 集 ? ?224

10.10 性能 ? ?225

10.11 小結(jié) ? ?227

第11 章 特殊的集合 ? 228

11.1 概述 ? ? 228

11.2 處理位 ? ?228

11.2.1 BitArray 類 ? ?229

11.2.2 BitVector32 結(jié)構(gòu) ? 230

11.3 可觀察的集合 ? ? 232

11.4 不變的集合 ? ? 233

11.4.1 使用構(gòu)建器和不變的集合 ? ?235

11.4.2 不變集合類型和接口 ? ? ?235

11.4.3 使用LINQ 和不變的數(shù)組 ? 236

11.5 并發(fā)集合 ? ?236

11.5.1 創(chuàng)建管道 ? ?237

11.5.2 使用BlockingCollection ? 239

11.5.3 使用ConcurrentDictionary ? 240

11.5.4 完成管道 ? ?241

11.6 小結(jié) ? ? 242

第12 章 LINQ ? 243

12.1 LINQ 概述 ? ?243

12.1.1 列表和實(shí)體 ? ?244

12.1.2 LINQ 查詢 ? ?246

12.1.3 擴(kuò)展方法 ? ?246

12.1.4 推遲查詢的執(zhí)行 ? ?248

12.2 標(biāo)準(zhǔn)的查詢操作符 249

12.2.1 篩選 ? ?250

12.2.2 用索引篩選 ? ?251

12.2.3 類型篩選 ? ?252

12.2.4 復(fù)合的from 子句 ? 252

12.2.5 排序 ? ?253

12.2.6 分組 ? ?254

12.2.7 LINQ 查詢中的變量 ? ? 255

12.2.8 對嵌套的對象分組 ? ? ?255

12.2.9 內(nèi)連接 ? ? ?256

12.2.10 左外連接 ? ? 258

12.2.11 組連接 ? ? ?260

12.2.12 集合操作 ? ? 262

12.2.13 合并 ? ? 263

12.2.14 分區(qū) ? ? 264

12.2.15 聚合操作符 ? ?264

12.2.16 轉(zhuǎn)換操作符 ? ?266

12.2.17 生成操作符 ? ?267

12.3 并行LINQ ? ? 267

12.3.1 并行查詢 ? ?268

12.3.2 分區(qū)器 ? ?268

12.3.3 取消 ? ?269

12.4 表達(dá)式樹 ? ?269

12.5 LINQ 提供程序 ? ? 271

12.6 小結(jié) ? ? 272

第13 章 C#函數(shù)式編程 ? 273

13.1 概述 ? ? 273

13.1.1 避免狀態(tài)突變 ? ? 274

13.1.2 函數(shù)作為第一個類 ? ? 275

13.2 表達(dá)式體的成員 ? ?275

13.3 擴(kuò)展方法 ? ?276

13.4 using static 聲明 ? ? 277

13.5 本地函數(shù) ? ?278

13.5.1 本地函數(shù)與yield 語句 ? ?279

13.5.2 遞歸本地函數(shù) ? ? 281

13.6 元組 ? ? ?282

13.6.1 元組的聲明和初始化 ? ?282

13.6.2 元組解構(gòu) ? ?283

13.6.3 元組的返回 ? ?283

13.6.4 幕后的原理 ? ?284

13.6.5 ValueTuple 與元組的兼容性 ? ?285

13.6.6 推斷出元組名稱 ? ? 285

13.6.7 元組與鏈表 ? ?286

13.6.8 元組和LINQ ? ?286

13.6.9 解構(gòu) ? ?287

13.6.10 解構(gòu)與擴(kuò)展方法 ? ?288

13.7 模式匹配 ? ? ? ?288

13.7.1 模式匹配與is 運(yùn)算符 ? ?288

13.7.2 模式匹配與switch 語句 ? 290

13.7.3 模式匹配與泛型 ? ? ?291

13.8 小結(jié) ? ?291

第14 章 錯誤和異常 ? ? 292

14.1 簡介 ? ?292

14.2 異常類 ? 293

14.3 捕獲異常 ? 294

14.3.1 異常和性能 ? 296

14.3.2 實(shí)現(xiàn)多個catch 塊 ? ?296

14.3.3 在其他代碼中捕獲異常 ? ?299

14.3.4 System.Exception 屬性 ? ?299

14.3.5 異常過濾器 ? ? ? ?299

14.3.6 重新拋出異常 ? ? ? 300

14.3.7 沒有處理異常時發(fā)生的情況 ? ? 303

14.4 用戶定義的異常類 ? ? 303

14.4.1 捕獲用戶定義的異常 ? ? ?304

14.4.2 拋出用戶定義的異常 ? ? ?305

14.4.3 定義用戶定義的異常類 ? ?307

14.5 調(diào)用者信息 ? ? ? ?309

14.6 小結(jié) ? ?310

第15 章 異步編程 ? ? ?311

15.1 異步編程的重要性 ? 311

15.2 異步編程的.NET 歷史 ? ?312

15.2.1 同步調(diào)用 ? ? ?312

15.2.2 異步模式 ? ? ?313

15.2.3 基于事件的異步模式 ? ? 314

15.2.4 基于任務(wù)的異步模式 ? ? 314

15.2.5 異步Main()方法 ? ? 315

15.3 異步編程的基礎(chǔ) ? 315

15.3.1 創(chuàng)建任務(wù) ? 316

15.3.2 調(diào)用異步方法 ? ? 316

15.3.3 使用Awaiter ? ? ?317

15.3.4 延續(xù)任務(wù) ? 317

15.3.5 同步上下文 ? 318

15.3.6 使用多個異步方法 ? ?318

15.3.7 使用ValueTasks ? ? 319

15.3.8 轉(zhuǎn)換異步模式 ? ? ?320

15.4 錯誤處理 ? ? ? 320

15.4.1 異步方法的異常處理 ? ? 321

15.4.2 多個異步方法的異常處理 ? ?321

15.4.3 使用AggregateException 信息 ? 322

15.5 異步與Windows 應(yīng)用程序 ? 322

15.5.1 配置await ? ? 323

15.5.2 切換到UI 線程 ? ? 324

15.5.3 使用IAsyncOperation ? 325

15.5.4 避免阻塞情況 ? ? ?325

15.6 小結(jié) ? ? ? 325

第16 章 反射、元數(shù)據(jù)和動態(tài)編程 ? ?326

16.1 在運(yùn)行期間檢查代碼和動態(tài)編程 ? 326

16.2 自定義特性 ? ? ? 327

16.2.1 編寫自定義特性 ? ? 327

16.2.2 自定義特性示例:WhatsNewAttributes ? 330

16.3 反射 ? ? 331

16.3.1 System.Type 類 ? ?332

16.3.2 TypeView 示例 ? ?333

16.3.3 Assembly 類 ? ? ?335

16.3.4 完成WhatsNewAttributes 示例 ? ?336

16.4 為反射使用動態(tài)語言擴(kuò)展 ? ? 339

16.4.1 創(chuàng)建Calculator 庫 ? ?339

16.4.2 動態(tài)實(shí)例化類型 ? ? 339

16.4.3 用Reflection API 調(diào)用成員 ? ?340

16.4.4 使用動態(tài)類型調(diào)用成員 ? ?340

16.5 dynamic 類型 ? ?341

16.6 DynamicObject 和ExpandoObject概述 ? ?344

16.6.1 DynamicObject ? 344

16.6.2 ExpandoObject ? ?345

16.7 小結(jié) ? ? 347

第17 章 托管和非托管內(nèi)存 ? 348

17.1 內(nèi)存 ? ? 348

17.2 后臺內(nèi)存管理 ? ? 349

17.2.1 值數(shù)據(jù)類型 ? ?349

17.2.2 引用數(shù)據(jù)類型 ? 350

17.2.3 垃圾收集 ? ? ? 352

17.3 強(qiáng)引用和弱引用 ? ?354

17.4 處理非托管的資源 ?354

17.4.1 析構(gòu)函數(shù)或終結(jié)器 ? ? 355

17.4.2 IDisposable 接口 ? ? 356

17.4.3 using 語句 ? ? ? ?356

17.4.4 實(shí)現(xiàn)IDisposable 接口和析構(gòu)函數(shù) ? ?357

17.4.5 IDisposable 和終結(jié)器的規(guī)則 ? ? 358

17.5 不安全的代碼 ? ? ?358

17.5.1 用指針直接訪問內(nèi)存 ? ?358

17.5.2 指針示例:PointerPlayground ? 364

17.5.3 使用指針優(yōu)化性能 ? ? ?367

17.6 引用的語義 ? ? 369

17.6.1 傳遞ref 和返回ref ? ?371

17.6.2 ref 和數(shù)組 ? ? 371

17.7 Span<T> ? ? 373

17.7.1 Span 引用托管堆 ? 373

17.7.2 Span 引用棧 ? ? ? 373

17.7.3 Span 引用本機(jī)堆 ? ?374

17.7.4 Span 擴(kuò)展方法 ? ? ?374

17.8 平臺調(diào)用 ? ? ?375

17.9 小結(jié) ? ? ? ?378

第18 章 Visual Studio 2017 ? ? 379

18.1 使用Visual Studio 2017 ? ? 379

18.1.1 Visual Studio 的版本 ? ? ? 382

18.1.2 Visual Studio 設(shè)置 ? ? ? ?382

18.2 創(chuàng)建項目 ? ? ? ? ? ? 383

18.2.1 面向多個版本的.NET ? ? 384

18.2.2 選擇項目類型 ? ? ? ? 385

18.3 瀏覽并編寫項目 ? ? ?388

18.3.1 Solution Explorer ? ? 388

18.3.2 使用代碼編輯器 ? ? 394

18.3.3 學(xué)習(xí)和理解其他窗口 ? 399

18.3.4 排列窗口 ? ? ?402

18.4 構(gòu)建項目 ? ? 402

18.4.1 構(gòu)建、編譯和生成代碼 ? ?403

18.4.2 調(diào)試版本和發(fā)布版本 ? ? 403

18.4.3 選擇配置 ? ? 404

18.4.4 編輯配置 ? ? 404

18.5 調(diào)試代碼 ? ? 406

18.5.1 設(shè)置斷點(diǎn) ? ? 407

18.5.2 使用數(shù)據(jù)提示和調(diào)試器可視化工具 ? ?407

18.5.3 Live Visual Tree ? ? 408

18.5.4 監(jiān)視和修改變量 ? ? 409

18.5.5 異常 ? ? ?409

18.5.6 多線程 ? ?410

18.6 重構(gòu)工具 ? ?411

18.7 診斷工具 ? ?412

18.8 通過Docker 創(chuàng)建和使用容器 ? ?415

18.8.1 Docker 簡介 ? ?416

18.8.2 在Docker 容器中運(yùn)行ASP .NET Core ? 416

18.8.3 創(chuàng)建Dockerfile ? ?417

18.8.4 使用Visual Studio ? ?418

18.9 小結(jié) ? ? 420

第II 部分 .NET Core 與Windows Runtime

第19 章 庫、程序集、包和NuGet ? ? ?423

19.1 庫的地獄 ? ?423

19.2 程序集 ? ?425

19.3 創(chuàng)建庫 ? ?426

19.3.1 .NET 標(biāo)準(zhǔn) ? ?427

19.3.2 創(chuàng)建.NET 標(biāo)準(zhǔn)庫 ? ?428

19.3.3 解決方案文件 ? ? 428

19.3.4 引用項目 ? ? ? 429

19.3.5 引用NuGet 包 ? ?429

19.3.6 NuGet 的來源 ? ? 430

19.3.7 使用.NET Framework 庫 ? ?431

19.4 使用共享項目 ? ? ? 433

19.5 創(chuàng)建NuGet 包 ? ? ? 435

19.5.1 NuGet 包和命令行 ? ? ?435

19.5.2 支持多個平臺 ? ? ? ? 435

19.5.3 NuGet 包與Visual Studio ? 436

19.6 小結(jié) ? ? 438

第20 章 依賴注入 ? 439

20.1 依賴注入的概念 ? ?439

20.1.1 使用沒有依賴注入的服務(wù) ? ?440

20.1.2 使用依賴注入 ? ? ? ?441

20.2 使用.NET Core DI 容器 ? 442

20.3 服務(wù)的生命周期 ? ?443

20.3.1 使用單例和臨時服務(wù) ? 445

20.3.2 使用Scoped 服務(wù) ? ? ?446

20.3.3 使用自定義工廠 ? ? ?448

20.4 使用選項初始化服務(wù) ? 449

20.5 使用配置文件 ? ? ?450

20.6 創(chuàng)建平臺獨(dú)立性 ? ?452

20.6.1 .NET 標(biāo)準(zhǔn)庫 ? ? ? ? 452

20.6.2 WPF 應(yīng)用程序 ? ? ? 453

20.6.3 UWP 應(yīng)用程序 ? ? ? 454

20.6.4 Xamarin 應(yīng)用程序 ? ? 455

20.7 使用其他DI 容器 ? ?456

20.8 小結(jié) ? ? ? ? ? ? ? ?457

第21 章 任務(wù)和并行編程 ? 458

21.1 概述 ? ? ? ? ? ? ? 459

21.2 Parallel 類 ? ? ? ? ? ?460

21.2.1 使用Parallel.For()方法循環(huán) ? 460

21.2.2 提前中斷Parallel.For ? ? ?462

21.2.3 Parallel.For()方法的初始化 ? ?462

21.2.4 使用Parallel.ForEach()方法循環(huán) ? ?463

21.2.5 通過Parallel.Invoke()方法調(diào)用多個方法 ? 464

21.3 任務(wù) ? ? ? 464

21.3.1 啟動任務(wù) ? 464

21.3.2 Future——任務(wù)的結(jié)果 ? ? 466

21.3.3 連續(xù)的任務(wù) ? ? ?467

21.3.4 任務(wù)層次結(jié)構(gòu) ? ? 468

21.3.5 從方法中返回任務(wù) ? ?468

21.3.6 等待任務(wù) ? ? 468

21.4 取消架構(gòu) ? ? 470

21.4.1 Parallel.For()方法的取消 ? ? 470

21.4.2 任務(wù)的取消 ? ? ? 471

21.5 數(shù)據(jù)流 ? ? ? 472

21.5.1 使用動作塊 ? ?472

21.5.2 源和目標(biāo)數(shù)據(jù)塊 ? ? 473

21.5.3 連接塊 ? ? 474

21.6 Timer 類 ? ?475

21.7 線程問題 ? ?477

21.7.1 爭用條件 ? ?477

21.7.2 死鎖 ? ? ? 479

21.8 lock 語句和線程安全 ? ?480

21.9 Interlocked 類 ? ?483

21.10 Monitor 類 ? ? ?484

21.11 SpinLock 結(jié)構(gòu) ? ?485

21.12 WaitHandle 基類 ? ?485

21.13 Mutex 類 ? ?485

21.14 Semaphore 類 ? ?486

21.15 Events 類 ? ?487

21.16 Barrier 類 ? ?490

21.17 ReaderWriterLockSlim 類 ? ?492

21.18 Lock 和await ? 494

21.19 小結(jié) ? ? ? ? ? 496

第22 章 文件和流 ? ?497

22.1 概述 ? ? ? ? ? ?498

22.2 管理文件系統(tǒng) ? ?498

22.2.1 檢查驅(qū)動器信息 ? ?499

22.2.2 使用Path 類 ? ? ? 500

22.2.3 創(chuàng)建文件和文件夾 ? 500

22.2.4 訪問和修改文件屬性 ? ?501

22.2.5 使用File 執(zhí)行讀寫操作 ? 502

22.3 枚舉文件 ? ? ? ? ? ?503

22.4 使用流 ? ? ? ? ? ? ? 504

22.4.1 使用文件流 ? ? ? 505

22.4.2 讀取流 ? ? ? ? ?508

22.4.3 寫入流 ? ? ? ? ?508

22.4.4 復(fù)制流 ? ? ? ? ?509

22.4.5 隨機(jī)訪問流 ? ? ? 509

22.4.6 使用緩存的流 ? ? 510

22.5 使用讀取器和寫入器 ? ? ? ? ? ? ? 511

22.5.1 StreamReader 類 ? ?511

22.5.2 StreamWriter 類 ? ?512

22.5.3 讀寫二進(jìn)制文件 ? ?512

22.6 壓縮文件 ? ? ? ? ? ? 513

22.6.1 使用壓縮流 ? ? ? 514

22.6.2 使用Brotli ? ? ? ?514

22.6.3 壓縮文件 ? ? ? ? 515

22.7 觀察文件的更改 ? ? ? 515

22.8 使用內(nèi)存映射的文件 ? ? ? ? ? ? ? 516

22.8.1 使用訪問器創(chuàng)建內(nèi)存映射文件 ? ? ?517

22.8.2 使用流創(chuàng)建內(nèi)存映射文件 ? ? ? ? 518

22.9 使用管道通信 ? ? ? ? 520

22.9.1 創(chuàng)建命名管道服務(wù)器 ? ? ? ? ? ?520

22.9.2 創(chuàng)建命名管道客戶端 ? ? ? ? ? ?521

22.9.3 創(chuàng)建匿名管道 ? ? 522

22.10 通過Windows 運(yùn)行庫使用文件和流 ? ? ? ? ? ?523

22.10.1 Windows App 編輯器 ? ? ? ? ?523

22.10.2 把Windows Runtime 類型映射為.NET 類型 ? ? ?525

22.11 小結(jié) ? ? ? ? ? ? ? ?526

第23 章 網(wǎng)絡(luò) ? ? ? ? ? ? ? ? 527

23.1 概述 ? ? ? ? ? ? ? ? 527

23.2 HttpClient 類 ? ? ? ? ?528

23.2.1 發(fā)出異步的Get 請求 ? ? ? ? ? ?528

23.2.2 拋出異常 ? ? ? ? 529

23.2.3 傳遞標(biāo)題 ? ? ? ? 529

23.2.4 訪問內(nèi)容 ? ? ? ? 531

23.2.5 用HttpMessageHandler 自定義請求 ? 531

23.2.6 使用SendAsync 創(chuàng)建HttpRequestMessage ? ? ? ? ? ? ?532

23.2.7 使用HttpClient和Windows Runtime ? ?532

23.3 使用WebListener 類 ? ?534

23.4 使用實(shí)用工具類 ? ? ? 536

23.4.1 URI ? ? ? ? ? ? 537

23.4.2 IPAddress ? ? ? ? 538

23.4.3 IPHostEntry ? ? ? ?538

23.4.4 Dns ? ? ? ? ? ? 539

23.5 使用TCP ? ? ? ? ? ? 540

23.5.1 使用TCP 創(chuàng)建HTTP 客戶程序 ? ? 540

23.5.2 創(chuàng)建TCP 偵聽器 ? ? ? ? ? ? ? 541

23.5.3 創(chuàng)建TCP 客戶端 ? ? ? ? ? ? ? 547

23.5.4 TCP 和UDP ? ? ? 550

23.6 使用UDP ? ? ? ? ? ? 550

23.6.1 建立UDP 接收器 ? ? ? ? ? ? ?550

23.6.2 創(chuàng)建UDP 發(fā)送器 ? ? ? ? ? ? ?551

23.6.3 使用多播 ? ? ? ? 553

23.7 使用套接字 ? ? ? ? ? 554

23.7.1 使用套接字創(chuàng)建偵聽器 ? ? ? ? ?554

23.7.2 使用NetworkStream 和套接字 ? ? ?556

23.7.3 通過套接字使用讀取器和寫入器 ? ?557

23.7.4 使用套接字實(shí)現(xiàn)接收器 ? ? ? ? ?557

23.8 小結(jié) ? ? ? ? ? ? ? ? 559

第24 章 安全性 ? ? ? ? ? ? ?560

24.1 概述 ? ? ? ? ? ? ? ? 560

24.2 驗證用戶信息 ? ? ? ? 561

24.2.1 使用Windows 標(biāo)識 ? ? ? ? ? ?561

24.2.2 Windows Principal ? ? ? ? ? ? ?562

24.2.3 使用聲稱 ? ? ? ? 562

24.3 加密數(shù)據(jù) ? ? ? ? ? ? 564

24.3.1 創(chuàng)建和驗證簽名 ? ?565

24.3.2 實(shí)現(xiàn)安全的數(shù)據(jù)交換 ? ? ? ? ? ?567

24.3.3 使用RSA 簽名和散列 ? ? ? ? ? 569

24.4 保護(hù)數(shù)據(jù) ? ? ? ? ? ? 571

24.4.1 實(shí)現(xiàn)數(shù)據(jù)保護(hù) ? ? 571

24.4.2 用戶機(jī)密 ? ? ? ? 573

24.5 資源的訪問控制 ? ? ? 575

24.6 Web 安全性 ? ? ? ? ? 577

24.6.1 編碼 ? ? ? ? ? ?577

24.6.2 SQL 注入 ? ? ? ?579

24.6.3 跨站點(diǎn)請求偽造 ? ?580

24.7 小結(jié) ? ? ? ? ? ? ? ? 581

第25 章 ADO.NET 和事務(wù) ? ? 582

25.1 ADO.NET 概述 ? ? ? ?582

25.1.1 示例數(shù)據(jù)庫 ? ? ? 583

25.1.2 NuGet 包和名稱空間 ? ? ? ? ? ?583

25.2 使用數(shù)據(jù)庫連接 ? ? ? 584

25.2.1 管理連接字符串 ? ?585

25.2.2 連接池 ? ? ? ? ?585

25.2.3 連接信息 ? ? ? ?585

25.3 命令 ? ? ? ? ? ? ? ? 587

25.3.1 ExecuteNonQuery()方法 ? ? ? ? ?587

25.3.2 ExecuteScalar()方法 ? ? ? ? ? ? 588

25.3.3 ExecuteReader()方法 ? ? ? ? ? ?589

25.3.4 調(diào)用存儲過程 ? ? 590

25.4 異步數(shù)據(jù)訪問 ? ? ? ? 591

25.5 事務(wù) ? ? ? ? ? ? ? ? 592

25.6 事務(wù)和System.Transaction ? ? ? ? ? 595

25.6.1 可提交的事務(wù) ? ? 597

25.6.2 依賴事務(wù) ? ? ? ?598

25.6.3 環(huán)境事務(wù) ? ? ? ?599

25.6.4 嵌套作用域和環(huán)境事務(wù) ? ? ? ? ?601

25.7 小結(jié) ? ? ? ? ? ? ? ? 602

第26 章 Entity Framework Core ? ? ? ? ? 604

26.1 Entity Framework 簡史 ? ? ? ? ? ? ?605

26.2 EF Core 簡介 ? ? ? ? ?606

26.2.1 創(chuàng)建模型 ? ? ? ?607

26.2.2 約定、注釋和流利API ? ? ? ? ? 607

26.2.3 創(chuàng)建上下文 ? ? ? 608

26.2.4 創(chuàng)建數(shù)據(jù)庫 ? ? ? 608

26.2.5 刪除數(shù)據(jù)庫 ? ? ? 609

26.2.6 寫入數(shù)據(jù)庫 ? ? ? 609

26.2.7 讀取數(shù)據(jù)庫 ? ? ? 610

26.2.8 更新記錄 ? ? ? ?610

26.2.9 刪除記錄 ? ? ? ?611

26.2.10 日志記錄 ? ? ? 611

26.3 使用依賴注入 ? ? ? ? 612

26.4 創(chuàng)建模型 ? ? ? ? ? ? 614

26.4.1 創(chuàng)建關(guān)系 ? ? ? ?614

26.4.2 數(shù)據(jù)注釋 ? ? ? ?614

26.4.3 流利API ? ? ? ? 615

26.4.4 自包含類型的配置 ? ? ? ? ? ? 616

26.4.5 在數(shù)據(jù)庫中搭建模型 ? ? ? ? ? ?617

26.4.6 映射到字段 ? ? ? 618

26.4.7 陰影屬性 ? ? ? ?619

26.5 查詢 ? ? ? ? ? ? ? ? 621

26.5.1 基本查詢 ? ? ? ?621

26.5.2 客戶端和服務(wù)器求值 ? ? ? ? ? ?622

26.5.3 原始SQL 查詢 ? ? 623

26.5.4 已編譯查詢 ? ? ? 624

26.5.5 全局查詢過濾器 ? ?624

26.5.6 EF.Functions ? ? ?625

26.6 關(guān)系 ? ? ? ? ? ? ? ?625

26.6.1 使用約定的關(guān)系 ? 625

26.6.2 顯式加載相關(guān)數(shù)據(jù) ? ? ? ? ? ? 627

26.6.3 即時加載相關(guān)數(shù)據(jù) ? ? ? ? ? ? 628

26.6.4 使用注釋的關(guān)系 ? 628

26.6.5 使用流利API 的關(guān)系 ? ? ? ? ? 629

26.6.6 根據(jù)約定的每個層次結(jié)構(gòu)的表 ? ? 630

26.6.7 使用流利API 的每個層次結(jié)構(gòu)中的表 ? ? ?632

26.6.8 表的拆分 ? ? ? ?633

26.6.9 擁有的實(shí)體 ? ? ?634

26.7 保存數(shù)據(jù) ? ? ? ? ? ?636

26.7.1 用關(guān)系添加對象 ? 636

26.7.2 對象的跟蹤 ? ? ?637

26.7.3 更新對象 ? ? ? ?638

26.7.4 更新未跟蹤的對象 ? ? ? ? ? ? 638

26.7.5 批處理 ? ? ? ? 639

26.8 沖突的處理 ? ? ? ? ?640

26.8.1 最后一個更改獲勝 ? ? ? ? ? ? 640

26.8.2 第一個更改獲勝 ? ? ?641

26.9 上下文池 ? ? ? ? ? ?644

26.10 使用事務(wù) ? ? ? ? ? 644

26.10.1 使用隱式的事務(wù) ? ? ? ? ? ?644

26.10.2 創(chuàng)建顯式的事務(wù) ? ? ? ? ? ?646

26.11 遷移 ? ? ? ? ? ? ? 647

26.11.1 準(zhǔn)備項目文件 ? 647

26.11.2 利用ASP.NET Core MVC 托管應(yīng)用程序 ? ? ?648

26.11.3 托管.NET Core 控制臺應(yīng)用程序 ? ? 648

26.11.4 創(chuàng)建遷移 ? ? ?649

26.11.5 以編程方式應(yīng)用遷移 ? ? ? ? 651

26.11.6 應(yīng)用遷移的其他方法 ? ? ? ? 652

26.12 小結(jié) ? ? ? ? ? ? ? 652

第27 章 本地化 ? ? ? ? ? ? ? 653

27.1 全球市場 ? ? ? ? ? ?653

27.2 System.Globalization 名稱空間 ? ? ?654

27.2.1 Unicode 問題 ? ? 654

27.2.2 區(qū)域性和區(qū)域 ? ?655

27.2.3 使用區(qū)域性 ? ? ?658

27.2.4 排序 ? ? ? ? ? 663

27.3 資源 ? ? ? ? ? ? ? ?664

27.3.1 資源讀取器和寫入器 ? ? ? ? ? 664

27.3.2 使用資源文件生成器 ? ? ? ? ? ?665

27.3.3 通過ResourceManager 使用資源文件 ? ? ? ? 666

27.3.4 System.Resources 名稱空間 ? ? ? ?666

27.4 使用ASP.NET Core 本地化 ? ? ? ? ?667

27.4.1 注冊本地化服務(wù) ? ?667

27.4.2 注入本地化服務(wù) ? ?668

27.4.3 區(qū)域性提供程序 ? ?668

27.4.4 在ASP.NET Core 中使用資源 ? ? ? 669

27.4.5 使用控制器和視圖進(jìn)行本地化 ? ? ?670

27.5 本地化UWP ? ? ? ? ? 674

27.5.1 給UWP 使用資源 ? ? ? ? ? ? ? 674

27.5.2 使用多語言應(yīng)用程序工具集進(jìn)行本地化 ? ? ? ?675

27.6 小結(jié) ? ? ? ? ? ? ? ? 677

第28 章 測試 ? ? ? ? ? ? ? ? 678

28.1 概述 ? ? ? ? ? ? ? ? 678

28.2 使用MSTest 進(jìn)行單元測試 ? ? ? ? ?679

28.2.1 使用MSTest 創(chuàng)建單元測試 ? ? ? ?679

28.2.2 運(yùn)行單元測試 ? ? ?681

28.2.3 使用MSTest 預(yù)期異常 ? ? ? ? ? 682

28.2.4 測試全部代碼路徑 ? ? ? ? ? ? ?683

28.2.5 外部依賴 ? ? ? ? 683

28.3 使用xUnit 進(jìn)行單元測試 ? ? ? ? ? 685

28.3.1 使用xUnit 和.NET Core ? ? ? ? ?686

28.3.2 創(chuàng)建Fact 屬性 ? ? 686

28.3.3 創(chuàng)建Theory 特性 ? ? ? ? ? ? ? 687

28.3.4 使用Mocking 庫 ? ?688

28.4 實(shí)時單元測試 ? ? ? ? 690

28.5 使用EF Core 進(jìn)行單元測試 ? ? ? ? 692

28.6 使用Windows 應(yīng)用程序進(jìn)行UI測試 ? ? ? ? ? ? ? ? 693

28.7 Web 集成、負(fù)載和性能測試 ? ? ? ? 697

28.7.1 ASP.NET Core 集成測試 ? ? ? ? ?697

28.7.2 創(chuàng)建Web 測試 ? ? 698

28.7.3 運(yùn)行Web 測試 ? ? 700

28.8 小結(jié) ? ? ? ? ? ? ? ? 702

第29 章 跟蹤、日志和分析 ? ? ?703

29.1 診斷概述 ? ? ? ? ? ? 703

29.2 使用EventSource 跟蹤 ? ? ? ? ? ? ?704

29.2.1 EventSource 的簡單用法 ? ? ? ? ?705

29.2.2 跟蹤工具 ? ? ? ? 706

29.2.3 派生自EventSource ? ? ? ? ? ? ?707

29.2.4 使用注釋和EventSource ? ? ? ? ?709

29.2.5 創(chuàng)建事件清單模式 ? ? ? ? ? ? ?710

29.2.6 使用活動ID ? ? ? ?712

29.3 創(chuàng)建自定義偵聽器 ? ? ?714

29.4 使用ILogger 接口編寫日志 ? ? ? ? ?715

29.4.1 配置提供程序 ? ? ?716

29.4.2 使用作用域 ? ? ? 717

29.4.3 過濾 ? ? ? ? ? ?718

29.4.4 配置日志記錄 ? ? ?718

29.4.5 使用沒有依賴注入的ILogger ? ? ? ?719

29.5 使用Visual Studio App Center進(jìn)行分析 ? ? ? ? ? ? 720

29.6 小結(jié) ? ? ? ? ? ? ? ? 722

第III 部分 Web 應(yīng)用程序和服務(wù)

第30 章 ASP.NET Core ? ? ? 727

30.1 概述 ? ? ? ? ? ? ? ? 727

30.2 Web 技術(shù) ? ? ? ? ? ? 728

30.2.1 HTML ? ? ? ? ? ?728

30.2.2 CSS ? ? ? ? ? ? 729

30.2.3 JavaScript 和TypeScript ? ? ? ? ?729

30.2.4 腳本庫 ? ? ? ? ? 729

30.3 ASP.NET Web 項目 ? ? 730

30.3.1 啟動 ? ? ? ? ? ?733

30.3.2 示例應(yīng)用程序 ? ? ?735

30.4 添加客戶端內(nèi)容 ? ? ? ?736

30.4.1 為客戶端內(nèi)容使用工具 ? ? ? ? ? 737

30.4.2 通過Bower 使用客戶端庫 ? ? ? ? 738

30.4.3 使用JavaScript 包管理器npm ? ? ? 739

30.4.4 捆綁 ? ? ? ? ? ?739

30.4.5 用webpack 打包 ? ?740

30.5 請求和響應(yīng) ? ? ? ? ? 741

30.5.1 請求標(biāo)題 ? ? ? ? 742

30.5.2 查詢字符串 ? ? ? 744

30.5.3 編碼 ? ? ? ? ? ?745

30.5.4 表單數(shù)據(jù) ? ? ? ? 745

30.5.5 cookie ? ? ? ? ? 746

30.5.6 發(fā)送JSON ? ? ? ?747

30.6 依賴注入 ? ? ? ? ? ? 747

30.6.1 定義服務(wù) ? ? ? ? 748

30.6.2 注冊服務(wù) ? ? ? ? 748

30.6.3 注入服務(wù) ? ? ? ? 748

30.6.4 調(diào)用控制器 ? ? ? 749

30.7 簡單的路由 ? ? ? ? ? 749

30.8 創(chuàng)建自定義的中間件 ? ? ? ? ? ? ? 750

30.9 會話狀態(tài) ? ? ? ? ? ? 751

30.10 用ASP.NET Core 配置 ? ? ? ? ? ?752

30.10.1 讀取配置 ? ? ? ?753

30.10.2 修改配置提供程序 ? ? ? ? ? ? 755

30.10.3 基于環(huán)境的不同配置 ? ? ? ? ? 756

30.11 小結(jié) ? ? ? ? ? ? ? ?757

第31 章 ASP.NET Core MVC ? ? ? ? ? ? ?758

31.1 為ASP.NET Core MVC 建立服務(wù) ? ? 758

31.2 定義路由 ? ? ? ? ? ? 760

31.2.1 添加路由 ? ? ? ?760

31.2.2 使用路由約束 ? ? 761

31.3 創(chuàng)建控制器 ? ? ? ? ? 761

31.3.1 理解動作方法 ? ? 762

31.3.2 使用參數(shù) ? ? ? ?762

31.3.3 返回數(shù)據(jù) ? ? ? ?762

31.3.4 使用Controller 基類和POCO控制器 ? ? ? ? ?763

31.4 創(chuàng)建視圖 ? ? ? ? ? ? 765

31.4.1 向視圖傳遞數(shù)據(jù) ? ?765

31.4.2 Razor 語法 ? ? ? 766

31.4.3 創(chuàng)建強(qiáng)類型視圖 ? ?766

31.4.4 定義布局 ? ? ? ?767

31.4.5 用部分視圖定義內(nèi)容 ? ? ? ? ? ?770

31.4.6 使用視圖組件 ? ? 773

31.4.7 在視圖中使用依賴注入 ? ? ? ? ?774

31.4.8 為多個視圖導(dǎo)入名稱空間 ? ? ? ? 775

31.5 從客戶端提交數(shù)據(jù) ? ? 775

31.5.1 模型綁定器 ? ? ? 777

31.5.2 注解和驗證 ? ? ? 778

31.6 使用HTML Helper ? ? ?779

31.6.1 簡單的Helper ? ? 779

31.6.2 使用模型數(shù)據(jù) ? ? 779

31.6.3 定義HTML 特性 ? ? ? ? ? ? ?780

31.6.4 創(chuàng)建列表 ? ? ? ?780

31.6.5 強(qiáng)類型化的Helper ? ? ? ? ? ? ?781

31.6.6 編輯器擴(kuò)展 ? ? ? 782

31.6.7 實(shí)現(xiàn)模板 ? ? ? ?782

31.7 Tag Helper ? ? ? ? ? ? 783

31.7.1 激活Tag Helper ? ?783

31.7.2 使用錨定Tag Helper ? ? ? ? ? ? 783

31.7.3 使用Label Tag Helper ? ? ? ? ? ?784

31.7.4 使用Input Tag Helper ? ? ? ? ? ? 785

31.7.5 使用表單進(jìn)行驗證 ? ? ? ? ? ? 786

31.7.6 environment Tag Helper ? ? ? ? ? 787

31.7.7 創(chuàng)建自定義Tag Helper ? ? ? ? ? 788

31.7.8 用Tag Helper 創(chuàng)建元素 ? ? ? ? ?790

31.8 實(shí)現(xiàn)動作過濾器 ? ? ?792

31.9 創(chuàng)建數(shù)據(jù)驅(qū)動的應(yīng)用程序 ? ? ? ? ?793

31.9.1 定義模型 ? ? ? ?794

31.9.2 創(chuàng)建數(shù)據(jù)庫 ? ? ?795

31.9.3 創(chuàng)建服務(wù) ? ? ? ?796

31.9.4 創(chuàng)建控制器 ? ? ?798

31.9.5 創(chuàng)建視圖 ? ? ? ?800

31.10 實(shí)現(xiàn)身份驗證和授權(quán) ? ? ? ? ? ? 803

31.10.1 存儲和檢索用戶信息 ? ? ? ? ?803

31.10.2 啟動身份系統(tǒng) ? ?804

31.10.3 執(zhí)行用戶注冊 ? ?804

31.10.4 設(shè)置用戶登錄 ? ?806

31.10.5 驗證用戶的身份 ? ? ? ? ? ? ?807

31.10.6 使用Azure Active Directory 對用戶進(jìn)行身份驗證 ? ? ? ? ? ?807

31.11 Razor 頁面 ? ? ? ? ?812

31.11.1 創(chuàng)建一個Razor 頁面項目 ? ? ? 812

31.11.2 實(shí)現(xiàn)數(shù)據(jù)訪問 ? ?813

31.11.3 使用內(nèi)聯(lián)代碼 ? ?814

31.11.4 使用內(nèi)聯(lián)代碼和頁面模型 ? ? ? 816

31.11.5 使用代碼隱藏文件 ? ? ? ? ? ?817

31.11.6 頁面參數(shù) ? ? ? 817

31.12 小結(jié) ? ? ? ? ? ? ? 818

第32 章 Web API ? ? ? ? ? ?819

32.1 概述 ? ? ? ? ? ? ? ?819

32.2 創(chuàng)建服務(wù) ? ? ? ? ? ?820

32.2.1 定義模型 ? ? ? ?821

32.2.2 創(chuàng)建服務(wù) ? ? ? ?821

32.2.3 創(chuàng)建控制器 ? ? ?823

32.2.4 修改響應(yīng)格式 ? ?824

32.2.5 REST 結(jié)果和狀態(tài)碼 ? ? ? ? ? ?825

32.3 創(chuàng)建異步服務(wù) ? ? ? ?826

32.4 創(chuàng)建.NET 客戶端 ? ? 827

32.4.1 發(fā)送GET 請求 ? ?828

32.4.2 從服務(wù)中接收XML ? ? ? ? ? 832

32.4.3 發(fā)送POST 請求 ? 833

32.4.4 發(fā)送PUT 請求 ? ?833

32.4.5 發(fā)送DELETE 請求 ? ? ? ? ? ?834

32.5 寫入數(shù)據(jù)庫 ? ? ? ? ?835

32.5.1 使用EF Core ? ? ?835

32.5.2 創(chuàng)建數(shù)據(jù)訪問服務(wù) ? ? ? ? ? ? ?836

32.6 用OpenAPI 或Swagger 創(chuàng)建元數(shù)據(jù) ? 837

32.7 創(chuàng)建和使用OData服務(wù) ? ? ? ? ? ? 841

32.7.1 創(chuàng)建數(shù)據(jù)模型 ? ? 842

32.7.2 創(chuàng)建數(shù)據(jù)庫 ? ? ? 843

32.7.3 OData 啟動代碼 ? ?844

32.7.4 創(chuàng)建OData 控制器 ? ? ? ? ? ? 844

32.7.5 OData 查詢 ? ? ? 845

32.8 使用Azure Function ? ? 847

32.8.1 創(chuàng)建Azure Function ? ? ? ? ? ? ?847

32.8.2 使用依賴注入容器 ? ? ? ? ? ? ?848

32.8.3 實(shí)現(xiàn)GET、POST 和PUT 請求 ? ? 849

32.8.4 運(yùn)行Azure Function ? ? ? ? ? ? ?851

32.9 小結(jié) ? ? ? ? ? ? ? ? 852

第IV 部分 應(yīng)用程序

第33 章 Windows 應(yīng)用程序 ? ?855

33.1 Windows 應(yīng)用程序簡介 ? ? ? ? ? ? 855

33.1.1 Windows 運(yùn)行庫 ? ?856

33.1.2 Hello, Windows ? ? 856

33.1.3 應(yīng)用程序清單文件 ? ? ? ? ? ? ?857

33.1.4 應(yīng)用程序啟動 ? ? 859

33.1.5 主頁 ? ? ? ? ? ?859

33.2 XAML ? ? ? ? ? ? ? ?861

33.2.1 XAML 標(biāo)準(zhǔn) ? ? ? 861

33.2.2 將元素映射到類 ? ?861

33.2.3 通過XAML 使用定制的.NET 類 ? ?862

33.2.4 將屬性用作特性 ? ?863

33.2.5 將屬性用作元素 ? ?863

33.2.6 依賴屬性 ? ? ? ? 864

33.2.7 創(chuàng)建依賴屬性 ? ? 864

33.2.8 值變更回調(diào)和事件 ? ? ? ? ? ? ?865

33.2.9 路由事件 ? ? ? ? 866

33.2.10 附加屬性 ? ? ? ?867

33.2.11 標(biāo)記擴(kuò)展 ? ? ? ?868

33.2.12 自定義標(biāo)記擴(kuò)展 ? ? ? ? ? ? ?869

33.2.13 條件XAML ? ? ? 870

33.3 控件 ? ? ? ? ? ? ? ? 871

33.3.1 框架派生的UI 元素 ? ? ? ? ? ? 872

33.3.2 控件派生的控件 ? ?875

33.3.3 范圍控件 ? ? ? ? 881

33.3.4 內(nèi)容控件 ? ? ? ? 882

33.3.5 按鈕 ? ? ? ? ? ?883

33.3.6 項控件 ? ? ? ? ?884

33.3.7 Flyout 控件 ? ? ? 884

33.4 數(shù)據(jù)綁定 ? ? ? ? ? ? 884

33.4.1 用INotifyPropertyChanged 更改通知 ? ? ? ? ? ?885

33.4.2 創(chuàng)建圖書列表 ? ? 886

33.4.3 列表綁定 ? ? ? ? 887

33.4.4 把事件綁定到方法 ? ? ? ? ? ? ?887

33.4.5 使用數(shù)據(jù)模板和數(shù)據(jù)模板選擇器 ? ?888

33.4.6 綁定簡單對象 ? ? 890

33.4.7 值的轉(zhuǎn)換 ? ? ? ? 891

33.5 導(dǎo)航 ? ? ? ? ? ? ? ? 892

33.5.1 導(dǎo)航回最初的頁面 ? ? ? ? ? ? ?892

33.5.2 重寫Page 類的導(dǎo)航 ? ? ? ? ? ? 893

33.5.3 在頁面之間導(dǎo)航 ? ?894

33.5.4 后退按鈕 ? ? ? ? 895

33.5.5 Hub ? ? ? ? ? ?896

33.5.6 Pivot ? ? ? ? ? ?898

33.5.7 NavigationView ? ? 899

33.6 布局 ? ? ? ? ? ? ? ? 902

33.6.1 StackPanel ? ? ? ? 902

33.6.2 Canvas ? ? ? ? ?903

33.6.3 Grid ? ? ? ? ? ?903

33.6.4 VariableSizedWrapGrid ? ? ? ? ? 904

33.6.5 RelativePanel ? ? ?906

33.6.6 自適應(yīng)觸發(fā)器 ? ? 906

33.6.7 XAML 視圖 ? ? ? 909

33.6.8 延遲加載 ? ? ? ? 909

33.7 小結(jié) ? ? ? ? ? ? ? ? 910

第34 章 模式和XAML 應(yīng)用程序 ? ? ? ? ? ? 911

34.1 使用 MVVM 的原因 ? ? ? ? ? ? ? 911

34.2 定義 MVVM 模式 ? ? 912

34.3 共享代碼 ? ? ? ? ? ? 913

34.3.1 使用API 協(xié)定和通用Windows平臺 ? ? ? ? ? ?913

34.3.2 使用共享項目 ? ? 915

34.3.3 使用.NET 標(biāo)準(zhǔn)庫 ? ? ? ? ? ? ?916

34.4 示例解決方案 ? ? ? ? 917

34.5 模型 ? ? ? ? ? ? ? ? 918

34.5.1 實(shí)現(xiàn)變更通知 ? ? 918

34.5.2 使用Repository 模式 ? ? ? ? ? ?919

34.6 服務(wù) ? ? ? ? ? ? ? ? 920

34.7 視圖模型 ? ? ? ? ? ? 921

34.7.1 使用IEditableObject ? ? ? ? ? ? 923

34.7.2 視圖模型的具體實(shí)現(xiàn) ? ? ? ? ? ?924

34.7.3 命令 ? ? ? ? ? ?925

34.7.4 服務(wù)、ViewModel 和依賴注入 ? ? 926

34.8 視圖 ? ? ? ? ? ? ? ? 927

34.8.1 從視圖模型中打開對話框 ? ? ? ? 930

34.8.2 頁面之間的導(dǎo)航 ? ?931

34.8.3 自適應(yīng)用戶界面 ? ?933

34.8.4 顯示進(jìn)度信息 ? ? 935

34.8.5 使用列表項中的操作 ? ? ? ? ? ?936

34.9 使用事件傳遞消息 ? ? 938

34.10 使用框架 ? ? ? ? ? ?939

34.11 小結(jié) ? ? ? ? ? ? ? ?940

第35 章 樣式化Windows 應(yīng)用程序 ? ? ? ? 941

35.1 樣式設(shè)置 ? ? ? ? ? ? 941

35.2 形狀 ? ? ? ? ? ? ? ? 942

35.3 幾何圖形 ? ? ? ? ? ? 944

35.3.1 使用段的幾何圖形 ? ? ? ? ? ? 944

35.3.2 使用PathMarkup 的幾何圖形 ? ? ?945

35.4 變換 ? ? ? ? ? ? ? ? 945

35.4.1 縮放 ? ? ? ? ? ?945

35.4.2 平移 ? ? ? ? ? ?946

35.4.3 旋轉(zhuǎn) ? ? ? ? ? ?946

35.4.4 傾斜 ? ? ? ? ? ?946

35.4.5 組合變換和復(fù)合變換 ? ? ? ? ? ?946

35.4.6 使用矩陣的變換 ? ?947

35.5 畫筆 ? ? ? ? ? ? ? ? 947

35.5.1 SolidColorBrush ? ? 947

35.5.2 LinearGradientBrush ? ? ? ? ? ? 947

35.5.3 ImageBrush ? ? ? ?948

35.5.4 AcrylicBrush ? ? ?948

35.5.5 RevealBrush ? ? ? 949

35.6 樣式和資源 ? ? ? ? ? 949

35.6.1 樣式 ? ? ? ? ? ?949

35.6.2 資源 ? ? ? ? ? ?951

35.6.3 從代碼中訪問資源 ? ? ? ? ? ? 952

35.6.4 資源字典 ? ? ? ?952

35.6.5 主題資源 ? ? ? ?953

35.7 模板 ? ? ? ? ? ? ? ? 954

35.7.1 控件模板 ? ? ? ?955

35.7.2 數(shù)據(jù)模板 ? ? ? ?958

35.7.3 樣式化ListView ? ?959

35.7.4 ListView 項的數(shù)據(jù)模板 ? ? ? ? ?960

35.7.5 項容器的樣式 ? ?960

35.7.6 項面板 ? ? ? ? 961

35.7.7 列表視圖的控件模板 ? ? ? ? ? 961

35.8 動畫 ? ? ? ? ? ? ? ?962

35.8.1 時間軸 ? ? ? ? ?962

35.8.2 緩動函數(shù) ? ? ? ?964

35.8.3 關(guān)鍵幀動畫 ? ? ?968

35.8.4 過渡 ? ? ? ? ? 969

35.9 可視化狀態(tài)管理器 ? ?971

35.9.1 用控件模板預(yù)定義狀態(tài) ? ? ? ? 972

35.9.2 定義自定義狀態(tài) ? 973

35.9.3 設(shè)置自定義的狀態(tài) ? ? ? ? ? ? 973

35.10 小結(jié) ? ? ? ? ? ? ? 974

第36 章 高級Windows 應(yīng)用程序 ? ? ? ? ? ?975

36.1 概述 ? ? ? ? ? ? ? ?975

36.2 應(yīng)用程序的生命周期 ? ? ? ? ? ? ?976

36.2.1 應(yīng)用程序的執(zhí)行狀態(tài) ? ? ? ? ? 976

36.2.2 在頁面之間導(dǎo)航 ? 976

36.3 導(dǎo)航狀態(tài) ? ? ? ? ? ?978

36.3.1 暫停應(yīng)用程序 ? ?979

36.3.2 激活暫停的應(yīng)用程序 ? ? ? ? ? 980

36.3.3 測試暫停 ? ? ? ?980

36.3.4 頁面狀態(tài) ? ? ? ?981

36.4 共享數(shù)據(jù) ? ? ? ? ? ?983

36.4.1 共享源 ? ? ? ? 983

36.4.2 共享目標(biāo) ? ? ? ?986

36.5 應(yīng)用程序服務(wù) ? ? ? ?991

36.5.1 創(chuàng)建模型 ? ? ? ?991

36.5.2 為應(yīng)用程序服務(wù)連接創(chuàng)建后臺任務(wù) ?992

36.5.3 注冊應(yīng)用程序服務(wù) ? ? ? ? ? ? 993

36.5.4 調(diào)用應(yīng)用程序服務(wù) ? ? ? ? ? ? 994

36.6 高級的編譯綁定 ? ? ?996

36.6.1 已編譯數(shù)據(jù)綁定的生命周期 ? ? ? 996

36.6.2 綁定到方法上 ? ?997

36.6.3 用x:Bind 分階段 ? 998

36.7 使用文本 ? ? ? ? ? 1002

36.7.1 使用字體 ? ? ? 1002

36.7.2 內(nèi)聯(lián)和塊元素 ? 1004

36.7.3 使用溢出區(qū)域 ? 1005

36.8 上墨 ? ? ? ? ? ? ? 1008

36.9 自動建議 ? ? ? ? ? ?1011

36.10 小結(jié) ? ? ? ? ? ? ? 1013

第37 章 Xamarin.Forms ? ? ? 1015

37.1 Xamarin 開發(fā)入門 ? ? 1015

37.1.1 用Android 架構(gòu)Xamarin ? ? ? ? 1016

37.1.2 用iOS 架構(gòu)Xamarin ? ? ? ? ? ?1016

37.1.3 Xamarin.Forms ? ? 1017

37.2 Xamarin 開發(fā)工具 ? ? 1018

37.2.1 Android ? ? ? ? ?1018

37.2.2 iOS ? ? ? ? ? ?1019

37.2.3 Visual Studio 2017 ? ? ? ? ? ? ?1019

37.2.4 Visual Studio for Mac ? ? ? ? ? ?1019

37.2.5 Visual Studio App Center ? ? ? ? ?1020

37.3 Android 基礎(chǔ) ? ? ? ?1020

37.3.1 活動 ? ? ? ? ? 1021

37.3.2 資源 ? ? ? ? ? 1022

37.3.3 顯示列表 ? ? ? ?1022

37.3.4 顯示消息 ? ? ? ?1024

37.4 iOS 基礎(chǔ) ? ? ? ? ? ?1025

37.4.1 iOS 應(yīng)用程序結(jié)構(gòu) ? ? ? ? ? ? 1025

37.4.2 故事板 ? ? ? ? 1026

37.4.3 控制器 ? ? ? ? 1028

37.4.4 顯示消息 ? ? ? ?1028

37.5 Xamarin. Forms 應(yīng)用程序 ? ? ? ? ?1029

37.5.1 托管Xamarin 的Windows應(yīng)用程序 ? ? ? ?1029

37.5.2 托管Xamarin 的Android ? ? ? ? 1030

37.5.3 托管Xamarin 的iOS ? ? ? ? ? ?1031

37.5.4 共享的項目 ? ? ?1031

37.6 使用公共庫 ? ? ? ? ?1032

37.7 控件層次結(jié)構(gòu) ? ? ? ?1032

37.8 頁面 ? ? ? ? ? ? ? ?1033

37.9 導(dǎo)航 ? ? ? ? ? ? ? ?1034

37.10 布局 ? ? ? ? ? ? ? 1035

37.11 視圖 ? ? ? ? ? ? ? 1037

37.12 數(shù)據(jù)綁定 ? ? ? ? ? 1037

37.13 命令 ? ? ? ? ? ? ? 1038

37.14 ListView 和ViewCell ? ? ? ? ? ? 1038

37.15 小結(jié) ? ? ? ? ? ? ? 1039


附贈章節(jié)電子版(請掃描封底二維碼獲取)

第1 章 Composition ? ? ? ? ? ? 1

BC1.1 概述 ? ? ? ? ? ? ? ? 1

BC1.2 Composition 庫的體系結(jié)構(gòu) ? ? ? ? ?2

BC1.2.1 使用特性的Composition ? ? ? ? 3

BC1.2.2 基于約定的部件注冊 ? ? ? ? ? 8

BC1.3 定義協(xié)定 ? ? ? ? ? ?10

BC1.4 導(dǎo)出部件 ? ? ? ? ? ?13

BC1.4.1 創(chuàng)建部件 ? ? ?13

BC1.4.2 使用部件的部件 ? ? ? ? ? ? 17

BC1.4.3 導(dǎo)出元數(shù)據(jù) ? ? 17

BC1.4.4 使用元數(shù)據(jù)進(jìn)行惰性加載 ? ? ? 19

BC1.5 導(dǎo)入部件 ? ? ? ? ? ?19

BC1.5.1 導(dǎo)入連接 ? ? ?22

BC1.5.2 部件的惰性加載 ? ? ? ? ? ? 23

BC1.5.3 讀取元數(shù)據(jù) ? ? 23

BC1.6 小結(jié) ? ? ? ? ? ? ? ?25

第2 章 XML 和JSON ? ? ? ? ? 26

BC2.1 數(shù)據(jù)格式 ? ? ? ? ? ?26

BC2.1.1 XML ? ? ? ? ?27

BC2.1.2 .NET 支持的XML 標(biāo)準(zhǔn) ? ? ? ?28

BC2.1.3 在框架中使用XML ? ? ? ? ? 28

BC2.1.4 JSON ? ? ? ? 29

BC2.2 讀寫流格式的XML ? ?30

BC2.2.1 使用XmlReader 類讀取XML ? ?31

BC2.2.2 使用XmlWriter 類 ? ? ? ? ? ?33

BC2.3 在.NET 中使用DOM ? ? ? ? ? ? ? 34

BC2.3.1 使用XmlDocument 類讀取 ? ? ?35

BC2.3.2 遍歷層次結(jié)構(gòu) ? ? ? ? ? ? ? 35

BC2.3.3 使用XmlDocument 插入節(jié)點(diǎn) ? ?36

BC2.4 使用XPathNavigator 類 ? ? ? ? ? ?37

BC2.4.1 XPathDocument 類 ? ? ? ? ? ?37

BC2.4.2 XPathNavigator 類 ? ? ? ? ? ?37

BC2.4.3 XPathNodeIterator 類 ? ? ? ? ?38

BC2.4.4 使用XPath 導(dǎo)航XML ? ? ? ? 38

BC2.4.5 使用XPath 評估 ? ? ? ? ? ? 39

BC2.4.6 用XPath 修改XML ? ? ? ? ? 39

BC2.5 在XML 中序列化對象 ? ? ? ? ? ? 40

BC2.5.1 序列化簡單對象 ? ? ? ? ? ? 40

BC2.5.2 序列化一個對象樹 ? ? ? ? ? 42

BC2.5.3 沒有特性的序列化 ? ? ? ? ? 44

BC2.6 LINQ to XML ? ? ? ? 46

BC2.6.1 XDocument 對象 ? ? ? ? ? ? 46

BC2.6.2 XElement 對象 ? ? ? ? ? ? ?47

BC2.6.3 XNamespace 對象 ? ? ? ? ? ?47

BC2.6.4 XComment 對象 ? ? ? ? ? ? 49

BC2.6.5 XAttribute 對象 ? ? ? ? ? ? ?49

BC2.6.6 使用LINQ 查詢XML 文檔 ? ? 50

BC2.6.7 查詢動態(tài)的XML 文檔 ? ? ? ? 50

BC2.6.8 轉(zhuǎn)換為對象 ? ? 52

BC2.6.9 轉(zhuǎn)換為XML ? ? 52

BC2.7 JSON ? ? ? ? ? ? ? 53

BC2.7.1 創(chuàng)建JSON ? ? ?53

BC2.7.2 轉(zhuǎn)換對象 ? ? ?54

BC2.7.3 序列化對象 ? ? 55

BC2.7.4 遍歷JSON 節(jié)點(diǎn) ? ? ? ? ? ? 55

BC2.8 小結(jié) ? ? ? ? ? ? ? ?56

第3 章 WebHooks 和SignalR ? ?57

BC3.1 概述 ? ? ? ? ? ? ? ?57

BC3.2 WebSockets ? ? ? ? ? 58

BC3.2.1 WebSockets 服務(wù)器 ? ? ? ? ? 58

BC3.2.2 WebSockets 客戶端 ? ? ? ? ? 60

BC3.3 使用SignalR 的簡單聊天程序 ? ? ? 62

BC3.3.1 創(chuàng)建集線器 ? ? 62

BC3.3.2 用HTML 和JavaScript 創(chuàng)建客戶端 ? ? ? ?63

BC3.3.3 創(chuàng)建SignalR .NET 客戶端 ? ? ?65

BC3.4 分組連接 ? ? ? ? ? ?68

BC3.4.1 用分組擴(kuò)展集線器 ? ? ? ? ? 68

BC3.4.2 用分組擴(kuò)展Windows 客戶端 ? ?69

BC3.5 WebHooks 的體系結(jié)構(gòu) ? ? ? ? ? ? 71

BC3.6 創(chuàng)建Dropbox 和GitHub 接收器 ? ? 72

BC3.6.1 創(chuàng)建Web 應(yīng)用程序 ? ? ? ? ? 73

BC3.6.2 為Dropbox 和GitHub 配置WebHooks ? ? ?73

BC3.6.3 實(shí)現(xiàn)處理程序 ? ? ? ? ? ? ? 73

BC3.6.4 用Dropbox 和GitHub 配置應(yīng)用程序 ? ? ?76

BC3.6.5 運(yùn)行應(yīng)用程序 ? ? ? ? ? ? ? 77

BC3.7 小結(jié) ? ? ? ? ? ? ? ?77

第4 章 機(jī)器人和認(rèn)知服務(wù) ? ? ? 79

BC4.1 機(jī)器人的定義 ? ? ? ?79

BC4.2 創(chuàng)建對話框機(jī)器人 ? ?80

BC4.2.1 配置狀態(tài)服務(wù) ? ? ? ? ? ? ?81

BC4.2.2 接收機(jī)器人消息 ? ? ? ? ? ?.82

BC4.2.3 定義對話框 ? ? ? 83

BC4.2.4 使用PromptDialog ? ? ? ? ? ?85

BC4.3 為對話框使用Form Flow ? ? ? ? ? 88

BC4.4 創(chuàng)建英雄卡 ? ? ? ? 89

BC4.5 機(jī)器人和LUIS ? ? ? 91

BC4.5.1 定義意圖和話語 ? ? ? ? ? ?92

BC4.5.2 訪問LUIS 中的建議 ? ? ? ? 95

BC4.5.3 使用帶有活動檢查的Form Flow ? ?96

BC4.6 小結(jié) ? ? ? ? ? ? ?96

第5 章 Windows 應(yīng)用程序的更多特性 ? ? ? ?97

BC5.1 概述 ? ? ? ? ? ? ? 97

BC5.2 相機(jī) ? ? ? ? ? ? ? ?98

BC5.3 Geolocation 和MapControl ? ? ? ? ? 99

BC5.3.1 使用MapControl ? ? ? ? ? ? 99

BC5.3.2 使用Geolocator 定位信息 ? ? ?102

BC5.3.3 街景地圖 ? ? ?103

BC5.3.4 繼續(xù)請求位置信息 ? ? ? ? ? 104

BC5.4 傳感器 ? ? ? ? ? ? 105

BC5.4.1 光線 ? ? ? ? 106

BC5.4.2 羅盤 ? ? ? ? 107

BC5.4.3 加速計 ? ? ? 107

BC5.4.4 傾斜計 ? ? ? 108

BC5.4.5 陀螺儀 ? ? ? 109

BC5.4.6 方向 ? ? ? ? 109

BC5.4.7 Rolling Marble 示例 ? ? ? ? ?110

BC5.5 小結(jié) ? ? ? ? ? ? ? 112



可以直接購買



原文地址:https://mp.weixin.qq.com/s/fQdcCwnt6-RUrqynAHhDLw


.NET社區(qū)新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com


總結(jié)

以上是生活随笔為你收集整理的持续畅销20年的《C#高级编程》出第11版了!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。