注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術(shù)計算機/網(wǎng)絡(luò)操作系統(tǒng)C# 11和.NET 7入門與跨平臺開發(fā)(第7版)

C# 11和.NET 7入門與跨平臺開發(fā)(第7版)

C# 11和.NET 7入門與跨平臺開發(fā)(第7版)

定 價:¥158.00

作 者: [美] 馬克·J. 普萊斯(Mark J. Price) 著,葉偉民 譯
出版社: 清華大學出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787302653288 出版時間: 2024-02-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字數(shù):  

內(nèi)容簡介

  《C# 11和.NET 7入門與跨平臺開發(fā)(第7版)》將為你學習C# 11和.NET 7奠定堅實的基礎(chǔ),使你能夠自信地構(gòu)建應(yīng)用程序和服務(wù)。學習完本書,你將能夠創(chuàng)建豐富的Web應(yīng)用,并能牢牢掌握面向?qū)ο缶幊碳夹g(shù),進而能在此基礎(chǔ)上進行項目開發(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)建和消費強大的服務(wù)

作者簡介

  Mark J. Price是一位擁有20多年C#編程經(jīng)驗的微軟認證技術(shù)專家,他專注于C#編程以及構(gòu)建Azure 云解決方案。自1993 年以來,Mark 已通過了80 多次微軟編程考試,他特別擅長傳道授業(yè)。從2001 年到2003年,Mark 在美國雷德蒙德全職為微軟編寫官方課件。當C#還處于alpha版本時,他的團隊就為C#編寫了第一個培訓教程。在微軟任職期間,他為培訓師上課,指導微軟認證培訓師快速掌握C#和.NET。Mark 職業(yè)生涯中的大部分時間都在培訓各類學生,從16 歲的新人到70 歲的退休人員,其中大部分是專業(yè)開發(fā)人員。Mark 擁有計算機科學學士學位。

圖書目錄

第1 章 C#與.NET 入門       1
1.1 設(shè)置開發(fā)環(huán)境        2
1.1.1 選擇適合學習的工具和應(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項目          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 管理多個項目      16
1.3.2 使用Visual Studio 2022編寫代碼      16
1.3.3 使用Visual Studio 編譯和運行代碼      17
1.3.4 理解頂級程序     19
1.3.5 使用Visual Studio 2022 添加第二個項目       21
1.4 使用Visual Studio Code 構(gòu)建控制臺應(yīng)用程序      22
1.4.1 使用Visual Studio Code 管理多個項目      22
1.4.2 使用Visual Studio Code編寫代碼      22
1.4.3 使用dotnet CLI 編譯和運行代碼      25
1.4.4 使用Visual Studio Code 添加第二個項目      26
1.5 使用.NET Interactive Notebook探索代碼        27
1.6 檢查項目的文件夾和文件   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 實踐和探索       35
1.9.1 練習1.1:測試你掌握的知識  36
1.9.2 練習1.2:使用瀏覽器在任何地方練習C#      36
1.9.3 練習1.3:探索主題    36
1.9.4 練習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#標準      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 將編程語言與人類語言進行比較        48
2.2.9 改變C#語法的配色方案    49
2.2.10 如何編寫正確的代碼   49
2.2.11 導入名稱空間     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ù)      61
2.3.6 存儲布爾值       64
2.3.7 存儲任何類型的對象    64
2.3.8 動態(tài)存儲類型     65
2.3.9 聲明局部變量     66
2.3.10 獲取和設(shè)置類型的默認值   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è)置選項     76
2.4.7 處理不支持API 的平臺   78
2.5 理解async 和await      79
2.6 實踐和探索       80
2.6.1 練習2.1:測試你掌握的知識  81
2.6.2 練習2.2:測試你對數(shù)字類型的了解      81
2.6.3 練習2.3:練習數(shù)字大小和范圍        81
2.6.4 練習2.4:探索主題    82
2.7 本章小結(jié)        82
第3 章 控制程序流程、轉(zhuǎn)換類型和處理異常       83
3.1 操作變量        83
3.1.1 一元算術(shù)運算符      84
3.1.2 二元算術(shù)運算符      85
3.1.3 賦值運算符      86
3.1.4 邏輯運算符      86
3.1.5 條件邏輯運算符      87
3.1.6 按位和二元移位運算符   88
3.1.7 其他運算符      90
3.2 理解選擇語句      90
3.2.1 使用if 語句進行分支    90
3.2.2 模式匹配與if 語句     91
3.2.3 使用switch 語句進行分支  92
3.2.4 模式匹配與switch 語句   94
3.2.5 使用switch 表達式簡化
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 類型進行轉(zhuǎn)換      107
3.4.3 圓整數(shù)字      107
3.4.4 控制圓整規(guī)則     108
3.4.5 從任何類型轉(zhuǎn)換為字符串   108
3.4.6 從二進制對象轉(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 實踐和探索       117
3.7.1 練習3.1:測試你掌握的知識 118
3.7.2 練習3.2:探索循環(huán)和溢出   118
3.7.3 練習3.3:實踐循環(huán)和運算符 118
3.7.4 練習3.4:實踐異常處理  119
3.7.5 練習3.5:測試你對運算符的認識程度      119
3.7.6 練習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 簡述實參與形參    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ù)實現(xiàn)中使用lambda  133
4.2 在開發(fā)過程中進行調(diào)試    135
4.2.1 在調(diào)試期間使用Visual Studio Code集成終端      135
4.2.2 創(chuàng)建帶有故意錯誤的代碼   136
4.2.3 設(shè)置斷點并開始調(diào)試   137
4.2.4 使用調(diào)試工具欄進行導航   139
4.2.5 調(diào)試窗口      140
4.2.6 單步執(zhí)行代碼     140
4.2.7 自定義斷點      141
4.3 在開發(fā)期間進行熱重載    142
4.3.1 使用Visual Studio 2022 進行熱重載       143
4.3.2 使用Visual Studio Code 和命令行進行熱重載      143
4.4 在開發(fā)和運行時進行日志記錄  144
4.4.1 理解日志記錄選項     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 實現(xiàn)tester-doer 模式   163
4.7 實踐和探索       164
4.7.1 練習4.1:測試你掌握的知識 164
4.7.2 練習4.2:使用調(diào)試和單元測試練習函數(shù)的編寫    165
4.7.3 練習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 實例化類      169
5.2.5 導入名稱空間以使用類型   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è)置屬性  193
5.6.4 定義索引器     195
5.7 有關(guān)方法的詳細介紹     196
5.7.1 使用方法實現(xiàn)功能     196
5.7.2 使用運算符實現(xiàn)功能    199
5.7.3 使用局部函數(shù)實現(xiàn)功能   201
5.8 模式匹配和對象      202
5.8.1 定義飛機乘客     202
5.8.2 C# 9 及后續(xù)版本對模式匹配做了增強      203
5.9 使用記錄       204
5.9.1 init-only 屬性      204
5.9.2 理解記錄      205
5.9.3 記錄中的位置數(shù)據(jù)成員   206
5.10 實踐和探索      206
5.10.1 練習5.1:測試你掌握的知識       207
5.10.2 練習5.2:探索主題   207
5.11 本章小結(jié)       207
第6 章 實現(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 實現(xiàn)接口       216
6.4.1 公共接口      216
6.4.2 排序時比較對象    216
6.4.3 使用單獨的類比較對象   220
6.4.4 隱式和顯式的接口實現(xiàn)   221
6.4.5 使用默認實現(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 擴展類以添加功能     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)中進行類型轉(zhuǎn)換         242
6.8.1 隱式類型轉(zhuǎn)換     242
6.8.2 顯式類型轉(zhuǎn)換     242
6.8.3 避免類型轉(zhuǎn)換異常     243
6.9 繼承和擴展.NET 類型    244
6.9.1 繼承異常      244
6.9.2 無法繼承時擴展類型    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 實踐和探索      257
6.11.1 練習6.1:測試你掌握的知識 257
6.11.2 練習6.2:練習創(chuàng)建繼承層次結(jié)構(gòu)       257
6.11.3 練習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 以進行更新 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 導入名稱空間以使用類型   266
7.2.7 將C#關(guān)鍵字與.NET 類型相關(guān)聯(lián)       266
7.2.8 使用.NET Standard 在舊平臺之間共享代碼     268
7.2.9 理解不同SDK 中類庫的默認設(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 管理項目      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
擴展進行反編譯    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 實踐和探索       295
7.8.1 練習7.1:測試你掌握的知識 295
7.8.2 練習7.2:探索主題    295
7.8.3 練習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)用程序生成隨機數(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 模式匹配與正則表達式    304
8.3.1 檢查作為文本輸入的數(shù)字   304
8.3.2 改進正則表達式的性能   305
8.3.3 正則表達式的語法     305
8.3.4 正則表達式示例    306
8.3.5 拆分使用逗號分隔的復(fù)雜字符串       307
8.3.6 激活正則表達式語法著色   308
8.3.7 使用源生成器提高正則表達式的性能     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 使用隊列      320
8.4.7 集合的排序      322
8.4.8 使用專門的集合    322
8.4.9 使用不可變集合    323
8.4.10 集合的最佳實踐    323
8.5 使用Span、索引和范圍   324
8.5.1 通過Span 高效地使用內(nèi)存   324
8.5.2 用索引類型標識位置   324
8.5.3 使用Range 類型標識范圍  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 實踐和探索       328
8.7.1 練習8.1:測試你掌握的知識 328
8.7.2 練習8.2:練習正則表達式  329
8.7.3 練習8.3:練習編寫擴展方法 329
8.7.4 練習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 對文件中的文本進行編碼和解碼       353
9.3.3 使用隨機訪問句柄讀寫文本  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 擴展方法     363
9.5.2 從Newtonsoft 遷移到新的JSON      363
9.6 實踐和探索       363
9.6.1 練習9.1:測試你掌握的知識 363
9.6.2 練習9.2:練習序列化為XML  364
9.6.3 練習9.3:探索主題    364
9.7 本章小結(jié)       365
第10 章 使用Entity Framework Core處理數(shù)據(jù)       366
10.1 理解現(xiàn)代數(shù)據(jù)庫     366
10.1.1 理解舊的實體框架    367
10.1.2 理解Entity Framework Core  367
10.1.3 理解數(shù)據(jù)庫優(yōu)先和代碼優(yōu)先 368
10.1.4 EF Core 7 的性能改進  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é)果中返回的實體  387
10.4.2 過濾和排序產(chǎn)品     389
10.4.3 獲取生成的SQL    390
10.4.4 記錄EF Core     391
10.4.5 使用Like 進行模式匹配  393
10.4.6 在查詢中生成隨機數(shù)   394
10.4.7 定義全局過濾器     395
10.5 使用EF Core 加載模式   396
10.5.1 使用Include 擴展方法立即加載實體     396
10.5.2 啟用延遲加載    396
10.5.3 使用Load 方法顯式加載實體       397
10.6 使用EF Core 修改數(shù)據(jù)   399
10.6.1 插入實體     399
10.6.2 更新實體     402
10.6.3 刪除實體     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 實踐和探索       409
10.9.1 練習10.1:測試你掌握的知識       409
10.9.2 練習10.2:練習使用不同的序列化格式導出數(shù)據(jù)   410
10.9.3 練習10.3:探索主題   410
10.9.4 練習10.4:探索NoSQL數(shù)據(jù)庫      410
10.10 本章小結(jié)       410
第11 章 使用LINQ 查詢和操作數(shù)據(jù)  411
11.1 為什么使用LINQ    411
11.2 編寫LINQ 表達式    412
11.2.1 LINQ 的組成     412
11.2.2 使用Enumerable 類構(gòu)建LINQ表達式      412
11.2.3 理解延遲執(zhí)行    414
11.2.4 使用Where 擴展方法過濾實體     415
11.2.5 以命名方法為目標    417
11.2.6 通過刪除委托的顯式實例化來簡化代碼     417
11.2.7 以lambda 表達式為目標   418
11.2.8 實體的排序     418
11.2.9 按項自身排序    419
11.2.10 使用var 或指定類型聲明查詢      419
11.2.11 根據(jù)類型進行過濾   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 擴展方法  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 實踐和探索      444
11.8.1 練習11.1:測試你掌握的知識       444
11.8.2 練習11.2:練習使用LINQ進行查詢     445
11.8.3 練習11.3:探索主題   445
11.9 本章小結(jié)       446
第12 章 使用ASP.NET Core 進行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)化項目       453
12.4 建立實體數(shù)據(jù)模型供本書剩余部分章節(jié)使用     454
12.4.1 使用SQLite 創(chuàng)建實體模型類庫     455
12.4.2 使用SQL Server 創(chuàng)建實體模型類庫     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 實踐和探索       470
12.6.1 練習12.1:測試你掌握的知識       470
12.6.2 練習12.2:了解Web 開發(fā)中
常用的縮寫      471
12.6.3 練習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項目       472
13.1.2 測試和保護網(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 實現(xiàn)分部視圖以顯示單個員工       494
13.4.4 使用和測試Razor 類庫   495
13.5 配置服務(wù)和HTTP 請求管道 496
13.5.1 了解端點路由    496
13.5.2 配置端點路由    496
13.5.3 查看項目中的端點路由配置 496
13.5.4 配置HTTP 管道    498
13.5.5 總結(jié)關(guān)鍵的中間件擴展方法 499
13.5.6 可視化HTTP 管道    499
13.5.7 實現(xiàn)匿名內(nèi)聯(lián)委托作為中間件      500
13.5.8 啟用對請求解壓縮的支持  501
13.6 啟用HTTP/3 支持    502
13.7 實踐和探索      504
13.7.1 練習13.1:測試你掌握的知識       504
13.7.2 練習13.2:練習建立數(shù)據(jù)驅(qū)動的網(wǎng)頁     504
13.7.3 練習13.3:練習為控制臺應(yīng)用程序構(gòu)建Web 頁面  504
13.7.4 練習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)建認證數(shù)據(jù)庫      507
14.1.3 探索默認的ASP.NET Core MVC網(wǎng)站       509
14.1.4 啟動MVC 網(wǎng)站項目   510
14.1.5 了解訪問者注冊     511
14.1.6 查看MVC 網(wǎ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 的默認路由   516
14.2.3 理解控制器和操作    517
14.2.4 理解視圖搜索路徑約定  520
14.2.5 使用依賴服務(wù)進行記錄  520
14.2.6 實體和視圖模型     521
14.2.7 視圖       523
14.2.8 理解如何使用標記助手避開緩存     525
14.3 自定義ASP.NET Core MVC網(wǎng)站        526
14.3.1 自定義樣式     526
14.3.2 設(shè)置類別圖像    526
14.3.3 Razor 語法和表達式    526
14.3.4 定義類型化視圖     527
14.3.5 使用路由值傳遞參數(shù)   530
14.3.6 模型綁定程序    532
14.3.7 驗證模型     535
14.3.8 使用HTML 輔助方法定義視圖       537
14.3.9 使用標記助手定義視圖  538
14.3.10 跨功能過濾器    538
14.3.11 使用輸出緩存    543
14.4 查詢數(shù)據(jù)庫和使用顯示模板  547
14.5 使用異步任務(wù)提高可伸縮性  550
14.6 實踐與探索      551
14.6.1 練習14.1:測試你掌握的知識       551
14.6.2 練習14.2:通過實現(xiàn)類別詳細信息頁面練習實現(xiàn)MVC   552
14.6.3 練習14.3:理解和實現(xiàn)異步操作方法以提高可伸縮性  552
14.6.4 練習14.4:對MVC 控制器進行單元測試    552
14.6.5 練習14.5:探索主題   552
14.7 本章小結(jié)       552
第15 章 構(gòu)建和消費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項目       556
15.1.4 檢查Web 服務(wù)的功能  559
15.1.5 為Northwind 示例數(shù)據(jù)庫創(chuàng)建Web 服務(wù)     560
15.1.6 為實體創(chuàng)建數(shù)據(jù)存儲庫  562
15.1.7 實現(xiàn)Web API 控制器   565
15.1.8 配置客戶存儲庫和Web API控制器      566
15.1.9 指定問題的細節(jié)     570
15.1.10 控制XML 序列化   570
15.2 解釋和測試Web 服務(wù)   571
15.2.1 使用瀏覽器測試GET 請求 571
15.2.2 使用REST Client 擴展測試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 客戶端消費Web 服務(wù)        580
15.3.1 了解HttpClient 類   580
15.3.2 使用HttpClientFactory 配置HTTP 客戶端    581
15.3.3 在控制器中以JSON 格式獲取客戶     581
15.3.4 啟動多個項目    583
15.3.5 啟動Web 服務(wù)和MVC 客戶端項目       585
15.4 為Web 服務(wù)實現(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 實踐和探索       591
15.6.1 練習15.1:測試你掌握的知識       591
15.6.2 練習15.2:練習使用HttpClient創(chuàng)建和刪除客戶    591
15.6.3 練習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 的目標       593
16.1.4 理解Blazor 托管模型   593
16.1.5 理解Blazor 組件    594
16.1.6 比較Blazor 和Razor    594
16.2 比較Blazor 項目模板   595
16.2.1 Blazor 服務(wù)器項目模板   595
16.2.2 理解到頁面組件的Blazor路由       600
16.2.3 運行Blazor 服務(wù)器項目模板 603
16.2.4 查看Blazor WebAssembly項目模板     604
16.3 使用Blazor 服務(wù)器構(gòu)建組件 608
16.3.1 定義和測試簡單的Blazor服務(wù)器組件     608
16.3.2 將組件轉(zhuǎn)換成可路由的頁面組件     609
16.3.3 將實體放入組件     610
16.3.4 為Blazor 組件抽象服務(wù)  613
16.3.5 使用EditForm 組件定義表單 615
16.3.6 構(gòu)建共享的客戶詳細信息組件       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 改進Blazor WebAssembly應(yīng)用程序       626
16.6 實踐和探索      626
16.6.1 練習16.1:測試你掌握的知識       626
16.6.2 練習16.2:通過創(chuàng)建乘法表組件進行練習    627
16.6.3 練習16.3:通過創(chuàng)建國家導航項進行練習     627
16.6.4 練習16.4:探索主題   628
16.7 本章小結(jié)       628
第17 章 結(jié)語        629

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.stefanvlieger.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號