包郵 C# 11和.NET 7入門與跨平臺開發(fā)(第7版)
-
>
全國計算機(jī)等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應(yīng)用
-
>
決戰(zhàn)行測5000題(言語理解與表達(dá))
-
>
軟件性能測試.分析與調(diào)優(yōu)實(shí)踐之路
-
>
第一行代碼Android
-
>
JAVA持續(xù)交付
-
>
EXCEL最強(qiáng)教科書(完全版)(全彩印刷)
-
>
深度學(xué)習(xí)
C# 11和.NET 7入門與跨平臺開發(fā)(第7版) 版權(quán)信息
- ISBN:9787302653288
- 條形碼:9787302653288 ; 978-7-302-65328-8
- 裝幀:平裝-膠訂
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>>
C# 11和.NET 7入門與跨平臺開發(fā)(第7版) 本書特色
《C# 11和.NET 7入門與跨平臺開發(fā)(第7版)》針對C# 11和.NET 7的全新特性進(jìn)行全面修訂,幫助你自信地使用C#編寫代碼。
你將全面學(xué)習(xí)面向?qū)ο缶幊蹋ň帉憽y試和調(diào)試函數(shù),實(shí)現(xiàn)接口,以及繼承類等。之后,你將學(xué)習(xí)如何使用.NET API來執(zhí)行不同的任務(wù),如管理和查詢數(shù)據(jù)、使用文件系統(tǒng)以及序列化。在學(xué)習(xí)過程中,你還將構(gòu)建并部署一些跨平臺項(xiàng)目,包括使用ASP.NET Core創(chuàng)建網(wǎng)站和服務(wù)。
為了避免不必要的圖形用戶界面代碼讓你分心,本書的前11章通過簡單的控制臺應(yīng)用程序來講解C#語言的構(gòu)造和許多.NET庫。掌握了基礎(chǔ)知識后,你將在之后的章節(jié)中使用ASP.NET Core、MVC模式和Blazor構(gòu)建網(wǎng)站、Web服務(wù)和瀏覽器應(yīng)用。
C# 11和.NET 7入門與跨平臺開發(fā)(第7版) 內(nèi)容簡介
《C# 11和.NET 7入門與跨平臺開發(fā)(第7版)》將為你學(xué)習(xí)C# 11和.NET 7奠定堅實(shí)的基礎(chǔ),使你能夠自信地構(gòu)建應(yīng)用程序和服務(wù)。學(xué)習(xí)完本書,你將能夠創(chuàng)建豐富的Web應(yīng)用,并能牢牢掌握面向?qū)ο缶幊碳夹g(shù),進(jìn)而能在此基礎(chǔ)上進(jìn)行項(xiàng)目開發(fā)。 ● 使用Blazor、Razor Pages、MVC模式和 ASP.NET Core的其他特性構(gòu)建豐富的Web應(yīng)用 ● 利用面向?qū)ο缶幊虡?gòu)建自己的類型 ● 編寫、測試和調(diào)試函數(shù) ● 使用LINQ查詢和操作數(shù)據(jù) ● 使用Entity Framework Core模型在應(yīng)用程序中集成和更新數(shù)據(jù)庫 ● 使用**的技術(shù),包括Web API和*小API,構(gòu)建和消費(fèi)強(qiáng)大的服務(wù)
C# 11和.NET 7入門與跨平臺開發(fā)(第7版) 目錄
1.1 設(shè)置開發(fā)環(huán)境 2
1.1.1 選擇適合學(xué)習(xí)的工具和應(yīng)用程序類型 3
1.1.2 跨平臺部署 5
1.1.3 下載并安裝Visual Studio 2022 for Windows 5
1.1.4 下載并安裝Visual Studio Code 6
1.2 理解.NET 8
1.2.1 理解.NET Framework 8
1.2.2 理解Mono、Xamarin 和Unity項(xiàng)目 9
1.2.3 理解.NET Core 9
1.2.4 了解走向.NET 的過程 9
1.2.5 了解.NET 支持 10
1.2.6 現(xiàn)代.NET 的區(qū)別 12
1.2.7 了解.NET Standard 13
1.2.8 本書使用的.NET 平臺和工具 14
1.2.9 Apps and Services with NET 7 中涵蓋的主題 15
1.2.10 理解中間語言 15
1.2.11 比較.NET 技術(shù) 15
1.3 使用Visual Studio 2022 構(gòu)建控制臺應(yīng)用程序 16
1.3.1 使用Visual Studio 2022 管理多個項(xiàng)目 16
1.3.2 使用Visual Studio 2022編寫代碼 16
1.3.3 使用Visual Studio 編譯和運(yùn)行代碼 17
1.3.4 理解頂級程序 19
1.3.5 使用Visual Studio 2022 添加第二個項(xiàng)目 21
1.4 使用Visual Studio Code 構(gòu)建控制臺應(yīng)用程序 22
1.4.1 使用Visual Studio Code 管理多個項(xiàng)目 22
1.4.2 使用Visual Studio Code編寫代碼 22
1.4.3 使用dotnet CLI 編譯和運(yùn)行代碼 25
1.4.4 使用Visual Studio Code 添加第二個項(xiàng)目 26
1.5 使用.NET Interactive Notebook探索代碼 27
1.6 檢查項(xiàng)目的文件夾和文件 28
1.6.1 了解常見的文件夾和文件 28
1.6.2 理解GitHub 中的解決方案代碼 28
1.7 充分利用本書的GitHub 存儲庫 29
1.7.1 對本書提出問題 29
1.7.2 反饋 29
1.7.3 從GitHub 存儲庫下載解決方案代碼 30
1.7.4 在Visual Studio Code 和命令行中使用Git 30
1.8 尋求幫助 31
1.8.1 閱讀微軟文檔 31
1.8.2 獲取關(guān)于dotnet 工具的幫助 31
1.8.3 獲取類型及其成員的定義 32
1.8.4 在Stack Overflow 上尋找答案 34
1.8.5 使用谷歌搜索答案 34
1.8.6 訂閱官方的.NET 博客 35
1.8.7 觀看Scott Hanselman 的視頻 35
1.8.8 本書的配套圖書 35
1.9 實(shí)踐和探索 35
1.9.1 練習(xí)1.1:測試你掌握的知識 36
1.9.2 練習(xí)1.2:使用瀏覽器在任何地方練習(xí)C# 36
1.9.3 練習(xí)1.3:探索主題 36
1.9.4 練習(xí)1.4:探索現(xiàn)代.NET 的主題 37
1.10 本章小結(jié) 37
第2 章 C#編程基礎(chǔ) 38
2.1 介紹C# 38
2.1.1 理解語言版本和特性 38
2.1.2 了解C#標(biāo)準(zhǔn) 42
2.1.3 了解C#編譯器版本 43
2.2 理解C#語法和詞匯 45
2.2.1 顯示編譯器版本 45
2.2.2 了解C#語法 46
2.2.3 語句 46
2.2.4 注釋 47
2.2.5 塊 47
2.2.6 語句和塊的示例 48
2.2.7 了解C#詞匯表 48
2.2.8 將編程語言與人類語言進(jìn)行比較 48
2.2.9 改變C#語法的配色方案 49
2.2.10 如何編寫正確的代碼 49
2.2.11 導(dǎo)入名稱空間 50
2.2.12 動詞表示方法 53
2.2.13 名詞表示類型、變量、字段和屬性 54
2.2.14 揭示C#詞匯表的范圍 54
2.3 使用變量 56
2.3.1 命名和賦值 57
2.3.2 字面值 57
2.3.3 存儲文本 57
2.3.4 存儲數(shù)字 60
2.3.5 存儲實(shí)數(shù) 61
2.3.6 存儲布爾值 64
2.3.7 存儲任何類型的對象 64
2.3.8 動態(tài)存儲類型 65
2.3.9 聲明局部變量 66
2.3.10 獲取和設(shè)置類型的默認(rèn)值 68
2.4 深入研究控制臺應(yīng)用程序 69
2.4.1 向用戶顯示輸出 69
2.4.2 從用戶那里獲取文本輸入 72
2.4.3 簡化控制臺的使用 73
2.4.4 獲取用戶的重要輸入 74
2.4.5 向控制臺應(yīng)用程序傳遞參數(shù) 74
2.4.6 使用參數(shù)設(shè)置選項(xiàng) 76
2.4.7 處理不支持API 的平臺 78
2.5 理解async 和await 79
2.6 實(shí)踐和探索 80
2.6.1 練習(xí)2.1:測試你掌握的知識 81
2.6.2 練習(xí)2.2:測試你對數(shù)字類型的了解 81
2.6.3 練習(xí)2.3:練習(xí)數(shù)字大小和范圍 81
2.6.4 練習(xí)2.4:探索主題 82
2.7 本章小結(jié) 82
第3 章 控制程序流程、轉(zhuǎn)換類型和處理異常 83
3.1 操作變量 83
3.1.1 一元算術(shù)運(yùn)算符 84
3.1.2 二元算術(shù)運(yùn)算符 85
3.1.3 賦值運(yùn)算符 86
3.1.4 邏輯運(yùn)算符 86
3.1.5 條件邏輯運(yùn)算符 87
3.1.6 按位和二元移位運(yùn)算符 88
3.1.7 其他運(yùn)算符 90
3.2 理解選擇語句 90
3.2.1 使用if 語句進(jìn)行分支 90
3.2.2 模式匹配與if 語句 91
3.2.3 使用switch 語句進(jìn)行分支 92
3.2.4 模式匹配與switch 語句 94
3.2.5 使用switch 表達(dá)式簡化
switch 語句 95
3.3 理解迭代語句 96
3.3.1 while 循環(huán)語句 96
3.3.2 do 循環(huán)語句 97
3.3.3 for 循環(huán)語句 97
3.3.4 foreach 循環(huán)語句 98
3.3.5 在數(shù)組中存儲多個值 99
3.4 類型轉(zhuǎn)換 105
3.4.1 隱式和顯式地轉(zhuǎn)換數(shù)字 105
3.4.2 使用System.Convert 類型進(jìn)行轉(zhuǎn)換 107
3.4.3 圓整數(shù)字 107
3.4.4 控制圓整規(guī)則 108
3.4.5 從任何類型轉(zhuǎn)換為字符串 108
3.4.6 從二進(jìn)制對象轉(zhuǎn)換為字符串 109
3.4.7 將字符串轉(zhuǎn)換為數(shù)字或日期和時間 110
3.5 處理異常 111
3.6 檢查溢出 115
3.6.1 使用checked 語句拋出溢出異常 115
3.6.2 使用unchecked 語句禁用編譯時溢出檢查 116
3.7 實(shí)踐和探索 117
3.7.1 練習(xí)3.1:測試你掌握的知識 118
3.7.2 練習(xí)3.2:探索循環(huán)和溢出 118
3.7.3 練習(xí)3.3:實(shí)踐循環(huán)和運(yùn)算符 118
3.7.4 練習(xí)3.4:實(shí)踐異常處理 119
3.7.5 練習(xí)3.5:測試你對運(yùn)算符的認(rèn)識程度 119
3.7.6 練習(xí)3.6:探索主題 119
3.8 本章小結(jié) 120
第4 章 編寫、調(diào)試和測試函數(shù) 121
4.1 編寫函數(shù) 121
4.1.1 理解頂級程序和函數(shù) 121
4.1.2 乘法表示例 123
4.1.3 簡述實(shí)參與形參 125
4.1.4 編寫帶返回值的函數(shù) 126
4.1.5 將數(shù)字從序數(shù)轉(zhuǎn)換為基數(shù) 128
4.1.6 用遞歸計算階乘 129
4.1.7 使用XML 注釋解釋函數(shù) 132
4.1.8 在函數(shù)實(shí)現(xiàn)中使用lambda 133
4.2 在開發(fā)過程中進(jìn)行調(diào)試 135
4.2.1 在調(diào)試期間使用Visual Studio Code集成終端 135
4.2.2 創(chuàng)建帶有故意錯誤的代碼 136
4.2.3 設(shè)置斷點(diǎn)并開始調(diào)試 137
4.2.4 使用調(diào)試工具欄進(jìn)行導(dǎo)航 139
4.2.5 調(diào)試窗口 140
4.2.6 單步執(zhí)行代碼 140
4.2.7 自定義斷點(diǎn) 141
4.3 在開發(fā)期間進(jìn)行熱重載 142
4.3.1 使用Visual Studio 2022 進(jìn)行熱重載 143
4.3.2 使用Visual Studio Code 和命令行進(jìn)行熱重載 143
4.4 在開發(fā)和運(yùn)行時進(jìn)行日志記錄 144
4.4.1 理解日志記錄選項(xiàng) 144
4.4.2 使用Debug 和Trace 類型 144
4.4.3 配置跟蹤偵聽器 146
4.4.4 切換跟蹤級別 147
4.4.5 記錄有關(guān)源代碼的信息 152
4.5 單元測試 153
4.5.1 理解測試類型 153
4.5.2 創(chuàng)建需要測試的類庫 154
4.5.3 編寫單元測試 156
4.6 在函數(shù)中拋出和捕獲異常 158
4.6.1 理解使用錯誤和執(zhí)行錯誤 158
4.6.2 在函數(shù)中通常拋出異常 158
4.6.3 理解調(diào)用堆棧 159
4.6.4 在哪里捕獲異常 162
4.6.5 重新拋出異常 162
4.6.6 實(shí)現(xiàn)tester-doer 模式 163
4.7 實(shí)踐和探索 164
4.7.1 練習(xí)4.1:測試你掌握的知識 164
4.7.2 練習(xí)4.2:使用調(diào)試和單元測試練習(xí)函數(shù)的編寫 165
4.7.3 練習(xí)4.3:探索主題 165
4.8 本章小結(jié) 165
第5 章 使用面向?qū)ο缶幊碳夹g(shù)構(gòu)建自己的類型 166
5.1 面向?qū)ο缶幊? 166
5.2 構(gòu)建類庫 167
5.2.1 創(chuàng)建類庫 167
5.2.2 在名稱空間中定義類 168
5.2.3 理解成員 169
5.2.4 實(shí)例化類 169
5.2.5 導(dǎo)入名稱空間以使用類型 170
5.2.6 理解對象 172
5.3 在字段中存儲數(shù)據(jù) 173
5.3.1 定義字段 173
5.3.2 理解訪問修飾符 174
5.3.3 設(shè)置和輸出字段值 174
5.3.4 使用enum 類型存儲值 175
5.3.5 使用enum 類型存儲多個值 176
5.4 使用集合存儲多個值 177
5.4.1 理解泛型集合 178
5.4.2 使字段成為靜態(tài)字段 178
5.4.3 使字段成為常量 179
5.4.4 使字段只讀 180
5.4.5 使用構(gòu)造函數(shù)初始化字段 181
5.5 編寫和調(diào)用方法 182
5.5.1 從方法返回值 182
5.5.2 使用元組組合多個返回值 182
5.5.3 定義參數(shù)并將參數(shù)傳遞給方法 185
5.5.4 重載方法 186
5.5.5 傳遞可選參數(shù)和命名參數(shù) 186
5.5.6 控制參數(shù)的傳遞方式 188
5.5.7 理解ref 返回 189
5.5.8 使用partial 關(guān)鍵字拆分類 189
5.6 使用屬性和索引器控制訪問 190
5.6.1 定義只讀屬性 190
5.6.2 定義可設(shè)置的屬性 191
5.6.3 要求在實(shí)例化期間設(shè)置屬性 193
5.6.4 定義索引器 195
5.7 有關(guān)方法的詳細(xì)介紹 196
5.7.1 使用方法實(shí)現(xiàn)功能 196
5.7.2 使用運(yùn)算符實(shí)現(xiàn)功能 199
5.7.3 使用局部函數(shù)實(shí)現(xiàn)功能 201
5.8 模式匹配和對象 202
5.8.1 定義飛機(jī)乘客 202
5.8.2 C# 9 及后續(xù)版本對模式匹配做了增強(qiáng) 203
5.9 使用記錄 204
5.9.1 init-only 屬性 204
5.9.2 理解記錄 205
5.9.3 記錄中的位置數(shù)據(jù)成員 206
5.10 實(shí)踐和探索 206
5.10.1 練習(xí)5.1:測試你掌握的知識 207
5.10.2 練習(xí)5.2:探索主題 207
5.11 本章小結(jié) 207
第6 章 實(shí)現(xiàn)接口和繼承類 208
6.1 建立類庫和控制臺應(yīng)用程序 208
6.2 使用泛型安全地重用類型 210
6.2.1 使用非泛型類型 210
6.2.2 使用泛型類型 211
6.3 觸發(fā)和處理事件 212
6.3.1 使用委托調(diào)用方法 212
6.3.2 定義和處理委托 213
6.3.3 定義和處理事件 215
6.4 實(shí)現(xiàn)接口 216
6.4.1 公共接口 216
6.4.2 排序時比較對象 216
6.4.3 使用單獨(dú)的類比較對象 220
6.4.4 隱式和顯式的接口實(shí)現(xiàn) 221
6.4.5 使用默認(rèn)實(shí)現(xiàn)定義接口 222
6.5 使用引用類型和值類型
管理內(nèi)存 223
6.5.1 定義引用類型和值類型 223
6.5.2 如何在內(nèi)存中存儲引用類型和值類型 224
6.5.3 類型的相等性 225
6.5.4 定義struct 類型 226
6.5.5 使用record struct 類型 228
6.5.6 釋放非托管資源 228
6.5.7 確保調(diào)用Dispose 方法 229
6.6 使用空值 230
6.6.1 使值類型可為空 230
6.6.2 了解與null 相關(guān)的縮略詞 232
6.6.3 理解可空引用類型 232
6.6.4 控制可空性警告檢查特性 232
6.6.5 聲明非可空變量和參數(shù) 233
6.6.6 檢查null 235
6.7 從類繼承 237
6.7.1 擴(kuò)展類以添加功能 237
6.7.2 隱藏成員 237
6.7.3 覆蓋成員 238
6.7.4 從抽象類繼承 239
6.7.5 防止繼承和覆蓋 240
6.7.6 理解多態(tài) 241
6.8 在繼承層次結(jié)構(gòu)中進(jìn)行類型轉(zhuǎn)換 242
6.8.1 隱式類型轉(zhuǎn)換 242
6.8.2 顯式類型轉(zhuǎn)換 242
6.8.3 避免類型轉(zhuǎn)換異常 243
6.9 繼承和擴(kuò)展.NET 類型 244
6.9.1 繼承異常 244
6.9.2 無法繼承時擴(kuò)展類型 246
6.10 編寫更好的代碼 248
6.10.1 將警告視為錯誤 248
6.10.2 了解警告波 250
6.10.3 使用分析器編寫更好的代碼 251
6.10.4 抑制警告 254
6.10.5 修改代碼 254
6.11 實(shí)踐和探索 257
6.11.1 練習(xí)6.1:測試你掌握的知識 257
6.11.2 練習(xí)6.2:練習(xí)創(chuàng)建繼承層次結(jié)構(gòu) 257
6.11.3 練習(xí)6.3:探索主題 258
6.12 本章小結(jié) 258
第7 章 打包和分發(fā).NET 類型 259
7.1 NET 7 簡介 259
7.1.1 NET Core 1.0 260
7.1.2 NET Core 1.1 260
7.1.3 NET Core 2.0 260
7.1.4 NET Core 2.1 260
7.1.5 NET Core 2.2 261
7.1.6 NET Core 3.0 261
7.1.7 NET Core 3.1 261
7.1.8 NET 5.0 261
7.1.9 NET 6.0 262
7.1.10 NET 7.0 262
7.1.11 使用.NET 5 及后續(xù)版本提高性能 262
7.1.12 檢查.NET SDK 以進(jìn)行更新 262
7.2 了解.NET 組件 263
7.2.1 程序集、NuGet 包和名稱空間 263
7.2.2 微軟.NET SDK 平臺 264
7.2.3 理解程序集中的名稱空間和類型 264
7.2.4 NuGet 包 265
7.2.5 理解框架 265
7.2.6 導(dǎo)入名稱空間以使用類型 266
7.2.7 將C#關(guān)鍵字與.NET 類型相關(guān)聯(lián) 266
7.2.8 使用.NET Standard 在舊平臺之間共享代碼 268
7.2.9 理解不同SDK 中類庫的默認(rèn)設(shè)置 269
7.2.10 創(chuàng)建.NET Standard 2.0 類庫 270
7.2.11 控制.NET SDK 270
7.3 發(fā)布用于部署的代碼 271
7.3.1 創(chuàng)建要發(fā)布的控制臺應(yīng)用程序 271
7.3.2 理解dotnet 命令 273
7.3.3 獲取關(guān)于.NET 及其環(huán)境的信息 274
7.3.4 管理項(xiàng)目 274
7.3.5 發(fā)布自包含的應(yīng)用程序 275
7.3.6 發(fā)布單文件應(yīng)用 276
7.3.7 使用app trimming 系統(tǒng)減小應(yīng)用程序的大小 277
7.4 反編譯.NET 程序集 278
7.4.1 使用Visual Studio 2022 的ILSpy
擴(kuò)展進(jìn)行反編譯 278
7.4.2 使用Visual Studio 2022 查看源鏈接 283
7.4.3 不能在技術(shù)上阻止反編譯 283
7.5 為NuGet 分發(fā)打包自己的庫 284
7.5.1 引用NuGet 包 284
7.5.2 為NuGet 打包庫 285
7.5.3 使用工具探索NuGet 包 289
7.5.4 測試類庫包 290
7.6 從.NET Framework 移植到現(xiàn)代.NET 290
7.6.1 能移植嗎 291
7.6.2 應(yīng)該移植嗎 291
7.6.3 NET Framework 和現(xiàn)代.NET的區(qū)別 292
7.6.4 NET 可移植性分析器 292
7.6.5 NET 升級助手 292
7.6.6 使用非.NET Standard 類庫 292
7.7 使用預(yù)覽特性 294
7.7.1 需要預(yù)覽特性 294
7.7.2 使用預(yù)覽特性 294
7.8 實(shí)踐和探索 295
7.8.1 練習(xí)7.1:測試你掌握的知識 295
7.8.2 練習(xí)7.2:探索主題 295
7.8.3 練習(xí)7.3:探索PowerShell 295
7.9 本章小結(jié) 296
第8 章 使用常見的.NET 類型 297
8.1 處理數(shù)字 297
8.1.1 處理大的整數(shù) 298
8.1.2 處理復(fù)數(shù) 298
8.1.3 理解四元數(shù) 299
8.1.4 為游戲和類似應(yīng)用程序生成隨機(jī)數(shù) 299
8.2 處理文本 300
8.2.1 獲取字符串的長度 300
8.2.2 獲取字符串中的字符 301
8.2.3 拆分字符串 301
8.2.4 獲取字符串的一部分 301
8.2.5 檢查字符串的內(nèi)容 302
8.2.6 連接、格式化和其他的字符串成員 302
8.2.7 高效地連接字符串 304
8.3 模式匹配與正則表達(dá)式 304
8.3.1 檢查作為文本輸入的數(shù)字 304
8.3.2 改進(jìn)正則表達(dá)式的性能 305
8.3.3 正則表達(dá)式的語法 305
8.3.4 正則表達(dá)式示例 306
8.3.5 拆分使用逗號分隔的復(fù)雜字符串 307
8.3.6 激活正則表達(dá)式語法著色 308
8.3.7 使用源生成器提高正則表達(dá)式的性能 311
8.4 在集合中存儲多個對象 312
8.4.1 所有集合的公共特性 313
8.4.2 通過確保集合的容量來提高性能 314
8.4.3 理解集合的選擇 314
8.4.4 使用列表 317
8.4.5 使用字典 319
8.4.6 使用隊(duì)列 320
8.4.7 集合的排序 322
8.4.8 使用專門的集合 322
8.4.9 使用不可變集合 323
8.4.10 集合的*佳實(shí)踐 323
8.5 使用Span、索引和范圍 324
8.5.1 通過Span 高效地使用內(nèi)存 324
8.5.2 用索引類型標(biāo)識位置 324
8.5.3 使用Range 類型標(biāo)識范圍 325
8.5.4 使用索引、范圍和Span 325
8.6 使用網(wǎng)絡(luò)資源 326
8.6.1 使用URI、DNS 和IP 地址 326
8.6.2 ping 服務(wù)器 327
8.7 實(shí)踐和探索 328
8.7.1 練習(xí)8.1:測試你掌握的知識 328
8.7.2 練習(xí)8.2:練習(xí)正則表達(dá)式 329
8.7.3 練習(xí)8.3:練習(xí)編寫擴(kuò)展方法 329
8.7.4 練習(xí)8.4:探索主題 329
8.8 本章小結(jié) 330
第9 章 處理文件、流和序列化 331
9.1 管理文件系統(tǒng) 331
9.1.1 處理跨平臺環(huán)境和文件系統(tǒng) 331
9.1.2 管理驅(qū)動器 333
9.1.3 管理目錄 334
9.1.4 管理文件 335
9.1.5 管理路徑 336
9.1.6 獲取文件信息 337
9.1.7 控制處理文件的方式 338
9.2 用流來讀寫 338
9.2.1 理解抽象和具體的流 338
9.2.2 寫入文本流 340
9.2.3 寫入XML 流 342
9.2.4 壓縮流 344
9.2.5 使用tar 存檔文件 346
9.2.6 讀寫tar 條目 350
9.3 編碼和解碼文本 350
9.3.1 將字符串編碼為字節(jié)數(shù)組 351
9.3.2 對文件中的文本進(jìn)行編碼和解碼 353
9.3.3 使用隨機(jī)訪問句柄讀寫文本 353
9.4 序列化對象圖 354
9.4.1 序列化為XML 354
9.4.2 生成緊湊的XML 356
9.4.3 反序列化XML 文件 357
9.4.4 用JSON 序列化 358
9.4.5 高性能的JSON 處理 359
9.5 控制處理JSON 的方式 360
9.5.1 用于處理HTTP 響應(yīng)的新的
JSON 擴(kuò)展方法 363
9.5.2 從Newtonsoft 遷移到新的JSON 363
9.6 實(shí)踐和探索 363
9.6.1 練習(xí)9.1:測試你掌握的知識 363
9.6.2 練習(xí)9.2:練習(xí)序列化為XML 364
9.6.3 練習(xí)9.3:探索主題 364
9.7 本章小結(jié) 365
第10 章 使用Entity Framework Core處理數(shù)據(jù) 366
10.1 理解現(xiàn)代數(shù)據(jù)庫 366
10.1.1 理解舊的實(shí)體框架 367
10.1.2 理解Entity Framework Core 367
10.1.3 理解數(shù)據(jù)庫優(yōu)先和代碼優(yōu)先 368
10.1.4 EF Core 7 的性能改進(jìn) 368
10.1.5 使用EF Core 創(chuàng)建控制臺
應(yīng)用程序 368
10.1.6 使用示例關(guān)系數(shù)據(jù)庫 368
10.1.7 使用SQLite 369
10.1.8 為SQLite 創(chuàng)建Northwind示例數(shù)據(jù)庫 370
10.1.9 使用SQLiteStudio 管理Northwind 示例數(shù)據(jù)庫 371
10.1.10 為SQLite 使用輕量級的ADO.NET 提供程序 373
10.1.11 為Windows 使用SQL Server 373
10.2 設(shè)置EF Core 373
10.2.1 選擇EF Core 數(shù)據(jù)庫提供程序 373
10.2.2 連接到數(shù)據(jù)庫 374
10.2.3 定義Northwind 數(shù)據(jù)庫上下文類 374
10.3 定義EF Core 模型 375
10.3.1 使用EF Core 約定定義模型 375
10.3.2 使用EF Core 注解特性定義模型 376
10.3.3 使用EF Core Fluent API 定義模型 377
10.3.4 為Northwind 表構(gòu)建EF Core模型 377
10.3.5 向Northwind 數(shù)據(jù)庫上下文類添加表 380
10.3.6 安裝dotnet-ef 工具 380
10.3.7 使用現(xiàn)有數(shù)據(jù)庫搭建模型 381
10.3.8 自定義逆向工程模板 384
10.3.9 配置約定前模型 384
10.4 查詢EF Core 模型 385
10.4.1 過濾結(jié)果中返回的實(shí)體 387
10.4.2 過濾和排序產(chǎn)品 389
10.4.3 獲取生成的SQL 390
10.4.4 記錄EF Core 391
10.4.5 使用Like 進(jìn)行模式匹配 393
10.4.6 在查詢中生成隨機(jī)數(shù) 394
10.4.7 定義全局過濾器 395
10.5 使用EF Core 加載模式 396
10.5.1 使用Include 擴(kuò)展方法立即加載實(shí)體 396
10.5.2 啟用延遲加載 396
10.5.3 使用Load 方法顯式加載實(shí)體 397
10.6 使用EF Core 修改數(shù)據(jù) 399
10.6.1 插入實(shí)體 399
10.6.2 更新實(shí)體 402
10.6.3 刪除實(shí)體 403
10.6.4 更高效的更新和刪除 404
10.6.5 池化數(shù)據(jù)庫環(huán)境 407
10.7 使用事務(wù) 407
10.7.1 使用隔離級別控制事務(wù) 408
10.7.2 定義顯式事務(wù) 408
10.8 定義Code First EF Core 模型 409
10.9 實(shí)踐和探索 409
10.9.1 練習(xí)10.1:測試你掌握的知識 409
10.9.2 練習(xí)10.2:練習(xí)使用不同的序列化格式導(dǎo)出數(shù)據(jù) 410
10.9.3 練習(xí)10.3:探索主題 410
10.9.4 練習(xí)10.4:探索NoSQL數(shù)據(jù)庫 410
10.10 本章小結(jié) 410
第11 章 使用LINQ 查詢和操作數(shù)據(jù) 411
11.1 為什么使用LINQ 411
11.2 編寫LINQ 表達(dá)式 412
11.2.1 LINQ 的組成 412
11.2.2 使用Enumerable 類構(gòu)建LINQ表達(dá)式 412
11.2.3 理解延遲執(zhí)行 414
11.2.4 使用Where 擴(kuò)展方法過濾實(shí)體 415
11.2.5 以命名方法為目標(biāo) 417
11.2.6 通過刪除委托的顯式實(shí)例化來簡化代碼 417
11.2.7 以lambda 表達(dá)式為目標(biāo) 418
11.2.8 實(shí)體的排序 418
11.2.9 按項(xiàng)自身排序 419
11.2.10 使用var 或指定類型聲明查詢 419
11.2.11 根據(jù)類型進(jìn)行過濾 420
11.2.12 使用LINQ 處理集合和bag 421
11.3 使用LINQ 與EF Core 422
11.3.1 構(gòu)建EF Core 模型 423
11.3.2 序列的過濾和排序 425
11.3.3 將序列投影到新的類型中 427
11.3.4 連接和分組序列 429
11.3.5 聚合序列 431
11.3.6 小心使用Count 433
11.3.7 使用LINQ 分頁 435
11.4 使用語法糖美化LINQ 語法 438
11.5 使用帶有并行LINQ 的多個線程 439
11.6 創(chuàng)建自己的LINQ 擴(kuò)展方法 439
11.7 使用LINQ to XML 442
11.7.1 使用LINQ to XML生成XML 442
11.7.2 使用LINQ to XML讀取XML 443
11.8 實(shí)踐和探索 444
11.8.1 練習(xí)11.1:測試你掌握的知識 444
11.8.2 練習(xí)11.2:練習(xí)使用LINQ進(jìn)行查詢 445
11.8.3 練習(xí)11.3:探索主題 445
11.9 本章小結(jié) 446
第12 章 使用ASP.NET Core 進(jìn)行Web 開發(fā) 447
12.1 理解ASP.NET Core 447
12.1.1 經(jīng)典ASP.NET 與現(xiàn)代ASP.NET Core 的對比 448
12.1.2 使用ASP.NET Core 構(gòu)建網(wǎng)站 449
12.1.3 構(gòu)建Web 服務(wù)和其他服務(wù) 450
12.2 ASP.NET Core 的新特性 450
12.2.1 ASP.NET Core 1.0 451
12.2.2 ASP.NET Core 1.1 451
12.2.3 ASP.NET Core 2.0 451
12.2.4 ASP.NET Core 2.1 451
12.2.5 ASP.NET Core 2.2 451
12.2.6 ASP.NET Core 3.0 452
12.2.7 ASP.NET Core 3.1 452
12.2.8 Blazor WebAssembly 3.2 452
12.2.9 ASP.NET Core 5.0 452
12.2.10 ASP.NET Core 6.0 453
12.2.11 ASP.NET Core 7.0 453
12.3 結(jié)構(gòu)化項(xiàng)目 453
12.4 建立實(shí)體數(shù)據(jù)模型供本書剩余部分章節(jié)使用 454
12.4.1 使用SQLite 創(chuàng)建實(shí)體模型類庫 455
12.4.2 使用SQL Server 創(chuàng)建實(shí)體模型類庫 462
12.4.3 測試類庫 465
12.5 了解Web 開發(fā) 466
12.5.1 HTTP 466
12.5.2 使用Google Chrome 瀏覽器發(fā)出HTTP 請求 468
12.5.3 了解客戶端Web 開發(fā)技術(shù) 470
12.6 實(shí)踐和探索 470
12.6.1 練習(xí)12.1:測試你掌握的知識 470
12.6.2 練習(xí)12.2:了解Web 開發(fā)中
常用的縮寫 471
12.6.3 練習(xí)12.3:探索主題 471
12.7 本章小結(jié) 471
第13 章 使用ASP.NET Core Razor Pages
構(gòu)建網(wǎng)站 472
13.1 了解ASP.NET Core 472
13.1.1 創(chuàng)建空的ASP.NET Core項(xiàng)目 472
13.1.2 測試和保護(hù)網(wǎng)站 474
13.1.3 控制托管環(huán)境 478
13.1.4 使網(wǎng)站能夠提供靜態(tài)內(nèi)容 479
13.2 了解ASP.NET Core Razor Pages 481
13.2.1 啟用Razor Pages 481
13.2.2 給Razor Pages 添加代碼 482
13.2.3 通過Razor Pages 使用共享布局 483
13.2.4 使用后臺代碼文件與Razor Pages 485
13.3 使用Entity Framework Core 與ASP.NET Core 487
13.3.1 將Entity Framework Core配置為服務(wù) 487
13.3.2 使用Razor Pages 操作數(shù)據(jù) 489
13.3.3 將依賴服務(wù)注入Razor Pages 中 490
13.4 使用Razor 類庫 491
13.4.1 禁用Visual Studio Code 的Compact Folders 功能 491
13.4.2 創(chuàng)建Razor 類庫 492
13.4.3 實(shí)現(xiàn)分部視圖以顯示單個員工 494
13.4.4 使用和測試Razor 類庫 495
13.5 配置服務(wù)和HTTP 請求管道 496
13.5.1 了解端點(diǎn)路由 496
13.5.2 配置端點(diǎn)路由 496
13.5.3 查看項(xiàng)目中的端點(diǎn)路由配置 496
13.5.4 配置HTTP 管道 498
13.5.5 總結(jié)關(guān)鍵的中間件擴(kuò)展方法 499
13.5.6 可視化HTTP 管道 499
13.5.7 實(shí)現(xiàn)匿名內(nèi)聯(lián)委托作為中間件 500
13.5.8 啟用對請求解壓縮的支持 501
13.6 啟用HTTP/3 支持 502
13.7 實(shí)踐和探索 504
13.7.1 練習(xí)13.1:測試你掌握的知識 504
13.7.2 練習(xí)13.2:練習(xí)建立數(shù)據(jù)驅(qū)動的網(wǎng)頁 504
13.7.3 練習(xí)13.3:練習(xí)為控制臺應(yīng)用程序構(gòu)建Web 頁面 504
13.7.4 練習(xí)13.4:探索主題 505
13.8 本章小結(jié) 505
第14 章 使用MVC 模式構(gòu)建網(wǎng)站 506
14.1 設(shè)置ASP.NET Core MVC網(wǎng)站 506
14.1.1 創(chuàng)建ASP.NET Core MVC網(wǎng)站 506
14.1.2 為SQL Server LocalDB 創(chuàng)建認(rèn)證數(shù)據(jù)庫 507
14.1.3 探索默認(rèn)的ASP.NET Core MVC網(wǎng)站 509
14.1.4 啟動MVC 網(wǎng)站項(xiàng)目 510
14.1.5 了解訪問者注冊 511
14.1.6 查看MVC 網(wǎng)站項(xiàng)目結(jié)構(gòu) 511
14.1.7 回顧ASP.NET Core Identity數(shù)據(jù)庫 513
14.2 探索ASP.NET Core MVC網(wǎng)站 514
14.2.1 ASP.NET Core MVC 的初始化 514
14.2.2 MVC 的默認(rèn)路由 516
14.2.3 理解控制器和操作 517
14.2.4 理解視圖搜索路徑約定 520
14.2.5 使用依賴服務(wù)進(jìn)行記錄 520
14.2.6 實(shí)體和視圖模型 521
14.2.7 視圖 523
14.2.8 理解如何使用標(biāo)記助手避開緩存 525
14.3 自定義ASP.NET Core MVC網(wǎng)站 526
14.3.1 自定義樣式 526
14.3.2 設(shè)置類別圖像 526
14.3.3 Razor 語法和表達(dá)式 526
14.3.4 定義類型化視圖 527
14.3.5 使用路由值傳遞參數(shù) 530
14.3.6 模型綁定程序 532
14.3.7 驗(yàn)證模型 535
14.3.8 使用HTML 輔助方法定義視圖 537
14.3.9 使用標(biāo)記助手定義視圖 538
14.3.10 跨功能過濾器 538
14.3.11 使用輸出緩存 543
14.4 查詢數(shù)據(jù)庫和使用顯示模板 547
14.5 使用異步任務(wù)提高可伸縮性 550
14.6 實(shí)踐與探索 551
14.6.1 練習(xí)14.1:測試你掌握的知識 551
14.6.2 練習(xí)14.2:通過實(shí)現(xiàn)類別詳細(xì)信息頁面練習(xí)實(shí)現(xiàn)MVC 552
14.6.3 練習(xí)14.3:理解和實(shí)現(xiàn)異步操作方法以提高可伸縮性 552
14.6.4 練習(xí)14.4:對MVC 控制器進(jìn)行單元測試 552
14.6.5 練習(xí)14.5:探索主題 552
14.7 本章小結(jié) 552
第15 章 構(gòu)建和消費(fèi)Web 服務(wù) 554
15.1 使用ASP.NET Core Web API構(gòu)建Web 服務(wù) 554
15.1.1 理解Web 服務(wù)縮寫詞 554
15.1.2 理解Web API 的HTTP 請求和響應(yīng) 555
15.1.3 創(chuàng)建ASP.NET Core Web API項(xiàng)目 556
15.1.4 檢查Web 服務(wù)的功能 559
15.1.5 為Northwind 示例數(shù)據(jù)庫創(chuàng)建Web 服務(wù) 560
15.1.6 為實(shí)體創(chuàng)建數(shù)據(jù)存儲庫 562
15.1.7 實(shí)現(xiàn)Web API 控制器 565
15.1.8 配置客戶存儲庫和Web API控制器 566
15.1.9 指定問題的細(xì)節(jié) 570
15.1.10 控制XML 序列化 570
15.2 解釋和測試Web 服務(wù) 571
15.2.1 使用瀏覽器測試GET 請求 571
15.2.2 使用REST Client 擴(kuò)展測試HTTP 請求 572
15.2.3 理解Swagger 575
15.2.4 使用Swagger UI 測試請求 575
15.2.5 啟用HTTP 日志記錄 578
15.2.6 W3CLogger 支持記錄額外的請求頭 580
15.3 使用HTTP 客戶端消費(fèi)Web 服務(wù) 580
15.3.1 了解HttpClient 類 580
15.3.2 使用HttpClientFactory 配置HTTP 客戶端 581
15.3.3 在控制器中以JSON 格式獲取客戶 581
15.3.4 啟動多個項(xiàng)目 583
15.3.5 啟動Web 服務(wù)和MVC 客戶端項(xiàng)目 585
15.4 為Web 服務(wù)實(shí)現(xiàn)高級功能 586
15.5 使用*小API 構(gòu)建Web 服務(wù) 586
15.5.1 測試*小天氣服務(wù) 588
15.5.2 向Northwind 網(wǎng)站主頁添加天氣預(yù)報 588
15.6 實(shí)踐和探索 591
15.6.1 練習(xí)15.1:測試你掌握的知識 591
15.6.2 練習(xí)15.2:練習(xí)使用HttpClient創(chuàng)建和刪除客戶 591
15.6.3 練習(xí)15.3:探索主題 591
15.7 本章小結(jié) 591
第16 章 使用Blazor 構(gòu)建用戶界面 592
16.1 理解Blazor 592
16.1.1 JavaScript 592
16.1.2 Silverlight——使用插件的C#和.NET 593
16.1.3 WebAssembly——Blazor 的目標(biāo) 593
16.1.4 理解Blazor 托管模型 593
16.1.5 理解Blazor 組件 594
16.1.6 比較Blazor 和Razor 594
16.2 比較Blazor 項(xiàng)目模板 595
16.2.1 Blazor 服務(wù)器項(xiàng)目模板 595
16.2.2 理解到頁面組件的Blazor路由 600
16.2.3 運(yùn)行Blazor 服務(wù)器項(xiàng)目模板 603
16.2.4 查看Blazor WebAssembly項(xiàng)目模板 604
16.3 使用Blazor 服務(wù)器構(gòu)建組件 608
16.3.1 定義和測試簡單的Blazor服務(wù)器組件 608
16.3.2 將組件轉(zhuǎn)換成可路由的頁面組件 609
16.3.3 將實(shí)體放入組件 610
16.3.4 為Blazor 組件抽象服務(wù) 613
16.3.5 使用EditForm 組件定義表單 615
16.3.6 構(gòu)建共享的客戶詳細(xì)信息組件 615
16.3.7 構(gòu)建創(chuàng)建、編輯和刪除客戶的組件 617
16.3.8 測試客戶組件 619
16.4 使用Blazor WebAssembly 構(gòu)建組件 619
16.4.1 為Blazor WebAssembly 配置服務(wù)器 620
16.4.2 為Blazor WebAssembly 配置客戶端 622
16.4.3 測試Blazor WebAssembly 組件和服務(wù) 624
16.5 改進(jìn)Blazor WebAssembly應(yīng)用程序 626
16.6 實(shí)踐和探索 626
16.6.1 練習(xí)16.1:測試你掌握的知識 626
16.6.2 練習(xí)16.2:通過創(chuàng)建乘法表組件進(jìn)行練習(xí) 627
16.6.3 練習(xí)16.3:通過創(chuàng)建國家導(dǎo)航項(xiàng)進(jìn)行練習(xí) 627
16.6.4 練習(xí)16.4:探索主題 628
16.7 本章小結(jié) 628
第17 章 結(jié)語 629
C# 11和.NET 7入門與跨平臺開發(fā)(第7版) 作者簡介
Mark J. Price是一位擁有20多年C#編程經(jīng)驗(yàn)的微軟認(rèn)證技術(shù)專家,他專注于C#編程以及構(gòu)建Azure 云解決方案。自1993 年以來,Mark 已通過了80 多次微軟編程考試,他特別擅長傳道授業(yè)。從2001 年到2003年,Mark 在美國雷德蒙德全職為微軟編寫官方課件。當(dāng)C#還處于alpha版本時,他的團(tuán)隊(duì)就為C#編寫了第一個培訓(xùn)教程。在微軟任職期間,他為培訓(xùn)師上課,指導(dǎo)微軟認(rèn)證培訓(xùn)師快速掌握C#和.NET。Mark 職業(yè)生涯中的大部分時間都在培訓(xùn)各類學(xué)生,從16 歲的新人到70 歲的退休人員,其中大部分是專業(yè)開發(fā)人員。Mark 擁有計算機(jī)科學(xué)學(xué)士學(xué)位。
- >
伊索寓言-世界文學(xué)名著典藏-全譯本
- >
山海經(jīng)
- >
羅曼·羅蘭讀書隨筆-精裝
- >
煙與鏡
- >
史學(xué)評論
- >
自卑與超越
- >
回憶愛瑪儂
- >
中國歷史的瞬間