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

C# 11和.NET 7入門(mén)與跨平臺(tái)開(kāi)發(fā)(第7版)

C# 11和.NET 7入門(mén)與跨平臺(tái)開(kāi)發(fā)(第7版)

定 價(jià):¥158.00

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

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787302653288 出版時(shí)間: 2024-02-01 包裝: 平裝-膠訂
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  《C# 11和.NET 7入門(mén)與跨平臺(tái)開(kāi)發(fā)(第7版)》將為你學(xué)習(xí)C# 11和.NET 7奠定堅(jiān)實(shí)的基礎(chǔ),使你能夠自信地構(gòu)建應(yīng)用程序和服務(wù)。學(xué)習(xí)完本書(shū),你將能夠創(chuàng)建豐富的Web應(yīng)用,并能牢牢掌握面向?qū)ο缶幊碳夹g(shù),進(jìn)而能在此基礎(chǔ)上進(jìn)行項(xiàng)目開(kāi)發(fā)?!?使用Blazor、Razor Pages、MVC模式和ASP.NET Core的其他特性構(gòu)建豐富的Web應(yīng)用● 利用面向?qū)ο缶幊虡?gòu)建自己的類(lèi)型● 編寫(xiě)、測(cè)試和調(diào)試函數(shù)● 使用LINQ查詢(xún)和操作數(shù)據(jù)● 使用Entity Framework Core模型在應(yīng)用程序中集成和更新數(shù)據(jù)庫(kù)● 使用最新的技術(shù),包括Web API和最小API,構(gòu)建和消費(fèi)強(qiáng)大的服務(wù)

作者簡(jiǎn)介

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

圖書(shū)目錄

第1 章 C#與.NET 入門(mén)       1
1.1 設(shè)置開(kāi)發(fā)環(huán)境        2
1.1.1 選擇適合學(xué)習(xí)的工具和應(yīng)用程序類(lèi)型        3
1.1.2 跨平臺(tái)部署       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 的過(guò)程     9
1.2.5 了解.NET 支持     10
1.2.6 現(xiàn)代.NET 的區(qū)別    12
1.2.7 了解.NET Standard      13
1.2.8 本書(shū)使用的.NET 平臺(tái)和工具  14
1.2.9 Apps and Services with NET 7 中涵蓋的主題       15
1.2.10 理解中間語(yǔ)言     15
1.2.11 比較.NET 技術(shù)      15
1.3 使用Visual Studio 2022 構(gòu)建控制臺(tái)應(yīng)用程序      16
1.3.1 使用Visual Studio 2022 管理多個(gè)項(xiàng)目      16
1.3.2 使用Visual Studio 2022編寫(xiě)代碼      16
1.3.3 使用Visual Studio 編譯和運(yùn)行代碼      17
1.3.4 理解頂級(jí)程序     19
1.3.5 使用Visual Studio 2022 添加第二個(gè)項(xiàng)目       21
1.4 使用Visual Studio Code 構(gòu)建控制臺(tái)應(yīng)用程序      22
1.4.1 使用Visual Studio Code 管理多個(gè)項(xiàng)目      22
1.4.2 使用Visual Studio Code編寫(xiě)代碼      22
1.4.3 使用dotnet CLI 編譯和運(yùn)行代碼      25
1.4.4 使用Visual Studio Code 添加第二個(gè)項(xiàng)目      26
1.5 使用.NET Interactive Notebook探索代碼        27
1.6 檢查項(xiàng)目的文件夾和文件   28
1.6.1 了解常見(jiàn)的文件夾和文件   28
1.6.2 理解GitHub 中的解決方案代碼 28
1.7 充分利用本書(shū)的GitHub 存儲(chǔ)庫(kù)  29
1.7.1 對(duì)本書(shū)提出問(wèn)題      29
1.7.2 反饋        29
1.7.3 從GitHub 存儲(chǔ)庫(kù)下載解決方案代碼      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 獲取類(lèi)型及其成員的定義   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 本書(shū)的配套圖書(shū)      35
1.9 實(shí)踐和探索       35
1.9.1 練習(xí)1.1:測(cè)試你掌握的知識(shí)  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 理解語(yǔ)言版本和特性    38
2.1.2 了解C#標(biāo)準(zhǔn)      42
2.1.3 了解C#編譯器版本    43
2.2 理解C#語(yǔ)法和詞匯     45
2.2.1 顯示編譯器版本     45
2.2.2 了解C#語(yǔ)法      46
2.2.3 語(yǔ)句        46
2.2.4 注釋        47
2.2.5 塊        47
2.2.6 語(yǔ)句和塊的示例     48
2.2.7 了解C#詞匯表     48
2.2.8 將編程語(yǔ)言與人類(lèi)語(yǔ)言進(jìn)行比較        48
2.2.9 改變C#語(yǔ)法的配色方案    49
2.2.10 如何編寫(xiě)正確的代碼   49
2.2.11 導(dǎo)入名稱(chēng)空間     50
2.2.12 動(dòng)詞表示方法     53
2.2.13 名詞表示類(lèi)型、變量、字段和屬性        54
2.2.14 揭示C#詞匯表的范圍   54
2.3 使用變量        56
2.3.1 命名和賦值       57
2.3.2 字面值       57
2.3.3 存儲(chǔ)文本      57
2.3.4 存儲(chǔ)數(shù)字      60
2.3.5 存儲(chǔ)實(shí)數(shù)      61
2.3.6 存儲(chǔ)布爾值       64
2.3.7 存儲(chǔ)任何類(lèi)型的對(duì)象    64
2.3.8 動(dòng)態(tài)存儲(chǔ)類(lèi)型     65
2.3.9 聲明局部變量     66
2.3.10 獲取和設(shè)置類(lèi)型的默認(rèn)值   68
2.4 深入研究控制臺(tái)應(yīng)用程序   69
2.4.1 向用戶(hù)顯示輸出      69
2.4.2 從用戶(hù)那里獲取文本輸入   72
2.4.3 簡(jiǎn)化控制臺(tái)的使用     73
2.4.4 獲取用戶(hù)的重要輸入    74
2.4.5 向控制臺(tái)應(yīng)用程序傳遞參數(shù)  74
2.4.6 使用參數(shù)設(shè)置選項(xiàng)     76
2.4.7 處理不支持API 的平臺(tái)   78
2.5 理解async 和await      79
2.6 實(shí)踐和探索       80
2.6.1 練習(xí)2.1:測(cè)試你掌握的知識(shí)  81
2.6.2 練習(xí)2.2:測(cè)試你對(duì)數(shù)字類(lèi)型的了解      81
2.6.3 練習(xí)2.3:練習(xí)數(shù)字大小和范圍        81
2.6.4 練習(xí)2.4:探索主題    82
2.7 本章小結(jié)        82
第3 章 控制程序流程、轉(zhuǎn)換類(lèi)型和處理異常       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 理解選擇語(yǔ)句      90
3.2.1 使用if 語(yǔ)句進(jìn)行分支    90
3.2.2 模式匹配與if 語(yǔ)句     91
3.2.3 使用switch 語(yǔ)句進(jìn)行分支  92
3.2.4 模式匹配與switch 語(yǔ)句   94
3.2.5 使用switch 表達(dá)式簡(jiǎn)化
switch 語(yǔ)句      95
3.3 理解迭代語(yǔ)句      96
3.3.1 while 循環(huán)語(yǔ)句     96
3.3.2 do 循環(huán)語(yǔ)句      97
3.3.3 for 循環(huán)語(yǔ)句      97
3.3.4 foreach 循環(huán)語(yǔ)句     98
3.3.5 在數(shù)組中存儲(chǔ)多個(gè)值    99
3.4 類(lèi)型轉(zhuǎn)換       105
3.4.1 隱式和顯式地轉(zhuǎn)換數(shù)字   105
3.4.2 使用System.Convert 類(lèi)型進(jìn)行轉(zhuǎn)換      107
3.4.3 圓整數(shù)字      107
3.4.4 控制圓整規(guī)則     108
3.4.5 從任何類(lèi)型轉(zhuǎn)換為字符串   108
3.4.6 從二進(jìn)制對(duì)象轉(zhuǎn)換為字符串  109
3.4.7 將字符串轉(zhuǎn)換為數(shù)字或日期和時(shí)間     110
3.5 處理異常        111
3.6 檢查溢出       115
3.6.1 使用checked 語(yǔ)句拋出溢出異常        115
3.6.2 使用unchecked 語(yǔ)句禁用編譯時(shí)溢出檢查      116
3.7 實(shí)踐和探索       117
3.7.1 練習(xí)3.1:測(cè)試你掌握的知識(shí) 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:測(cè)試你對(duì)運(yùn)算符的認(rèn)識(shí)程度      119
3.7.6 練習(xí)3.6:探索主題    119
3.8 本章小結(jié)       120
第4 章 編寫(xiě)、調(diào)試和測(cè)試函數(shù)   121
4.1 編寫(xiě)函數(shù)       121
4.1.1 理解頂級(jí)程序和函數(shù)    121
4.1.2 乘法表示例     123
4.1.3 簡(jiǎn)述實(shí)參與形參    125
4.1.4 編寫(xiě)帶返回值的函數(shù)    126
4.1.5 將數(shù)字從序數(shù)轉(zhuǎn)換為基數(shù)   128
4.1.6 用遞歸計(jì)算階乘    129
4.1.7 使用XML 注釋解釋函數(shù)   132
4.1.8 在函數(shù)實(shí)現(xiàn)中使用lambda  133
4.2 在開(kāi)發(fā)過(guò)程中進(jìn)行調(diào)試    135
4.2.1 在調(diào)試期間使用Visual Studio Code集成終端      135
4.2.2 創(chuàng)建帶有故意錯(cuò)誤的代碼   136
4.2.3 設(shè)置斷點(diǎn)并開(kāi)始調(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 在開(kāi)發(fā)期間進(jìn)行熱重載    142
4.3.1 使用Visual Studio 2022 進(jìn)行熱重載       143
4.3.2 使用Visual Studio Code 和命令行進(jìn)行熱重載      143
4.4 在開(kāi)發(fā)和運(yùn)行時(shí)進(jìn)行日志記錄  144
4.4.1 理解日志記錄選項(xiàng)     144
4.4.2 使用Debug 和Trace 類(lèi)型   144
4.4.3 配置跟蹤偵聽(tīng)器    146
4.4.4 切換跟蹤級(jí)別     147
4.4.5 記錄有關(guān)源代碼的信息   152
4.5 單元測(cè)試       153
4.5.1 理解測(cè)試類(lèi)型     153
4.5.2 創(chuàng)建需要測(cè)試的類(lèi)庫(kù)   154
4.5.3 編寫(xiě)單元測(cè)試     156
4.6 在函數(shù)中拋出和捕獲異常   158
4.6.1 理解使用錯(cuò)誤和執(zhí)行錯(cuò)誤   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:測(cè)試你掌握的知識(shí) 164
4.7.2 練習(xí)4.2:使用調(diào)試和單元測(cè)試練習(xí)函數(shù)的編寫(xiě)    165
4.7.3 練習(xí)4.3:探索主題    165
4.8 本章小結(jié)       165
第5 章 使用面向?qū)ο缶幊碳夹g(shù)構(gòu)建自己的類(lèi)型      166
5.1 面向?qū)ο缶幊?     166
5.2 構(gòu)建類(lèi)庫(kù)       167
5.2.1 創(chuàng)建類(lèi)庫(kù)      167
5.2.2 在名稱(chēng)空間中定義類(lèi)   168
5.2.3 理解成員      169
5.2.4 實(shí)例化類(lèi)      169
5.2.5 導(dǎo)入名稱(chēng)空間以使用類(lèi)型   170
5.2.6 理解對(duì)象      172
5.3 在字段中存儲(chǔ)數(shù)據(jù)     173
5.3.1 定義字段      173
5.3.2 理解訪(fǎng)問(wèn)修飾符    174
5.3.3 設(shè)置和輸出字段值     174
5.3.4 使用enum 類(lèi)型存儲(chǔ)值    175
5.3.5 使用enum 類(lèi)型存儲(chǔ)多個(gè)值  176
5.4 使用集合存儲(chǔ)多個(gè)值     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 編寫(xiě)和調(diào)用方法      182
5.5.1 從方法返回值     182
5.5.2 使用元組組合多個(gè)返回值   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)鍵字拆分類(lèi)   189
5.6 使用屬性和索引器控制訪(fǎng)問(wèn)   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 模式匹配和對(duì)象      202
5.8.1 定義飛機(jī)乘客     202
5.8.2 C# 9 及后續(xù)版本對(duì)模式匹配做了增強(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:測(cè)試你掌握的知識(shí)       207
5.10.2 練習(xí)5.2:探索主題   207
5.11 本章小結(jié)       207
第6 章 實(shí)現(xiàn)接口和繼承類(lèi)    208
6.1 建立類(lèi)庫(kù)和控制臺(tái)應(yīng)用程序   208
6.2 使用泛型安全地重用類(lèi)型   210
6.2.1 使用非泛型類(lèi)型    210
6.2.2 使用泛型類(lèi)型     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 排序時(shí)比較對(duì)象    216
6.4.3 使用單獨(dú)的類(lèi)比較對(duì)象   220
6.4.4 隱式和顯式的接口實(shí)現(xiàn)   221
6.4.5 使用默認(rèn)實(shí)現(xiàn)定義接口   222
6.5 使用引用類(lèi)型和值類(lèi)型
管理內(nèi)存       223
6.5.1 定義引用類(lèi)型和值類(lèi)型   223
6.5.2 如何在內(nèi)存中存儲(chǔ)引用類(lèi)型和值類(lèi)型     224
6.5.3 類(lèi)型的相等性     225
6.5.4 定義struct 類(lèi)型     226
6.5.5 使用record struct 類(lèi)型   228
6.5.6 釋放非托管資源    228
6.5.7 確保調(diào)用Dispose 方法   229
6.6 使用空值       230
6.6.1 使值類(lèi)型可為空    230
6.6.2 了解與null 相關(guān)的縮略詞   232
6.6.3 理解可空引用類(lèi)型     232
6.6.4 控制可空性警告檢查特性   232
6.6.5 聲明非可空變量和參數(shù)   233
6.6.6 檢查null       235
6.7 從類(lèi)繼承       237
6.7.1 擴(kuò)展類(lèi)以添加功能     237
6.7.2 隱藏成員      237
6.7.3 覆蓋成員      238
6.7.4 從抽象類(lèi)繼承     239
6.7.5 防止繼承和覆蓋    240
6.7.6 理解多態(tài)      241
6.8 在繼承層次結(jié)構(gòu)中進(jìn)行類(lèi)型轉(zhuǎn)換         242
6.8.1 隱式類(lèi)型轉(zhuǎn)換     242
6.8.2 顯式類(lèi)型轉(zhuǎn)換     242
6.8.3 避免類(lèi)型轉(zhuǎn)換異常     243
6.9 繼承和擴(kuò)展.NET 類(lèi)型    244
6.9.1 繼承異常      244
6.9.2 無(wú)法繼承時(shí)擴(kuò)展類(lèi)型    246
6.10 編寫(xiě)更好的代碼     248
6.10.1 將警告視為錯(cuò)誤    248
6.10.2 了解警告波      250
6.10.3 使用分析器編寫(xiě)更好的代碼 251
6.10.4 抑制警告       254
6.10.5 修改代碼       254
6.11 實(shí)踐和探索      257
6.11.1 練習(xí)6.1:測(cè)試你掌握的知識(shí) 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 類(lèi)型    259
7.1 NET 7 簡(jiǎn)介      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 包和名稱(chēng)空間 263
7.2.2 微軟.NET SDK 平臺(tái)   264
7.2.3 理解程序集中的名稱(chēng)空間和類(lèi)型        264
7.2.4 NuGet 包      265
7.2.5 理解框架      265
7.2.6 導(dǎo)入名稱(chēng)空間以使用類(lèi)型   266
7.2.7 將C#關(guān)鍵字與.NET 類(lèi)型相關(guān)聯(lián)       266
7.2.8 使用.NET Standard 在舊平臺(tái)之間共享代碼     268
7.2.9 理解不同SDK 中類(lèi)庫(kù)的默認(rèn)設(shè)置        269
7.2.10 創(chuàng)建.NET Standard 2.0 類(lèi)庫(kù)  270
7.2.11 控制.NET SDK    270
7.3 發(fā)布用于部署的代碼    271
7.3.1 創(chuàng)建要發(fā)布的控制臺(tái)應(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ā)打包自己的庫(kù)  284
7.5.1 引用NuGet 包      284
7.5.2 為NuGet 打包庫(kù)    285
7.5.3 使用工具探索NuGet 包   289
7.5.4 測(cè)試類(lèi)庫(kù)包      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 升級(jí)助手     292
7.6.6 使用非.NET Standard 類(lèi)庫(kù)  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:測(cè)試你掌握的知識(shí) 295
7.8.2 練習(xí)7.2:探索主題    295
7.8.3 練習(xí)7.3:探索PowerShell  295
7.9 本章小結(jié)       296
第8 章 使用常見(jiàn)的.NET 類(lèi)型    297
8.1 處理數(shù)字       297
8.1.1 處理大的整數(shù)     298
8.1.2 處理復(fù)數(shù)      298
8.1.3 理解四元數(shù)     299
8.1.4 為游戲和類(lèi)似應(yīng)用程序生成隨機(jī)數(shù)       299
8.2 處理文本       300
8.2.1 獲取字符串的長(zhǎng)度     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á)式的語(yǔ)法     305
8.3.4 正則表達(dá)式示例    306
8.3.5 拆分使用逗號(hào)分隔的復(fù)雜字符串       307
8.3.6 激活正則表達(dá)式語(yǔ)法著色   308
8.3.7 使用源生成器提高正則表達(dá)式的性能     311
8.4 在集合中存儲(chǔ)多個(gè)對(duì)象    312
8.4.1 所有集合的公共特性   313
8.4.2 通過(guò)確保集合的容量來(lái)提高性能      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 使用專(zhuān)門(mén)的集合    322
8.4.9 使用不可變集合    323
8.4.10 集合的最佳實(shí)踐    323
8.5 使用Span、索引和范圍   324
8.5.1 通過(guò)Span 高效地使用內(nèi)存   324
8.5.2 用索引類(lèi)型標(biāo)識(shí)位置   324
8.5.3 使用Range 類(lèi)型標(biāo)識(shí)范圍  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:測(cè)試你掌握的知識(shí) 328
8.7.2 練習(xí)8.2:練習(xí)正則表達(dá)式  329
8.7.3 練習(xí)8.3:練習(xí)編寫(xiě)擴(kuò)展方法 329
8.7.4 練習(xí)8.4:探索主題    329
8.8 本章小結(jié)       330
第9 章 處理文件、流和序列化   331
9.1 管理文件系統(tǒng)      331
9.1.1 處理跨平臺(tái)環(huán)境和文件系統(tǒng)  331
9.1.2 管理驅(qū)動(dòng)器      333
9.1.3 管理目錄      334
9.1.4 管理文件      335
9.1.5 管理路徑      336
9.1.6 獲取文件信息     337
9.1.7 控制處理文件的方式    338
9.2 用流來(lái)讀寫(xiě)       338
9.2.1 理解抽象和具體的流    338
9.2.2 寫(xiě)入文本流     340
9.2.3 寫(xiě)入XML 流     342
9.2.4 壓縮流       344
9.2.5 使用tar 存檔文件    346
9.2.6 讀寫(xiě)tar 條目      350
9.3 編碼和解碼文本      350
9.3.1 將字符串編碼為字節(jié)數(shù)組   351
9.3.2 對(duì)文件中的文本進(jìn)行編碼和解碼       353
9.3.3 使用隨機(jī)訪(fǎng)問(wèn)句柄讀寫(xiě)文本  353
9.4 序列化對(duì)象圖      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:測(cè)試你掌握的知識(shí) 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ù)庫(kù)     366
10.1.1 理解舊的實(shí)體框架    367
10.1.2 理解Entity Framework Core  367
10.1.3 理解數(shù)據(jù)庫(kù)優(yōu)先和代碼優(yōu)先 368
10.1.4 EF Core 7 的性能改進(jìn)  368
10.1.5 使用EF Core 創(chuàng)建控制臺(tái)
應(yīng)用程序     368
10.1.6 使用示例關(guān)系數(shù)據(jù)庫(kù)   368
10.1.7 使用SQLite      369
10.1.8 為SQLite 創(chuàng)建Northwind示例數(shù)據(jù)庫(kù)     370
10.1.9 使用SQLiteStudio 管理Northwind 示例數(shù)據(jù)庫(kù)  371
10.1.10 為SQLite 使用輕量級(jí)的ADO.NET 提供程序   373
10.1.11 為Windows 使用SQL Server      373
10.2 設(shè)置EF Core       373
10.2.1 選擇EF Core 數(shù)據(jù)庫(kù)提供程序       373
10.2.2 連接到數(shù)據(jù)庫(kù)    374
10.2.3 定義Northwind 數(shù)據(jù)庫(kù)上下文類(lèi)     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ù)庫(kù)上下文類(lèi)添加表      380
10.3.6 安裝dotnet-ef 工具    380
10.3.7 使用現(xiàn)有數(shù)據(jù)庫(kù)搭建模型  381
10.3.8 自定義逆向工程模板   384
10.3.9 配置約定前模型     384
10.4 查詢(xún)EF Core 模型    385
10.4.1 過(guò)濾結(jié)果中返回的實(shí)體  387
10.4.2 過(guò)濾和排序產(chǎn)品     389
10.4.3 獲取生成的SQL    390
10.4.4 記錄EF Core     391
10.4.5 使用Like 進(jìn)行模式匹配  393
10.4.6 在查詢(xún)中生成隨機(jī)數(shù)   394
10.4.7 定義全局過(guò)濾器     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ù)庫(kù)環(huán)境     407
10.7 使用事務(wù)       407
10.7.1 使用隔離級(jí)別控制事務(wù)  408
10.7.2 定義顯式事務(wù)    408
10.8 定義Code First EF Core 模型 409
10.9 實(shí)踐和探索       409
10.9.1 練習(xí)10.1:測(cè)試你掌握的知識(shí)       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ù)庫(kù)      410
10.10 本章小結(jié)       410
第11 章 使用LINQ 查詢(xún)和操作數(shù)據(jù)  411
11.1 為什么使用LINQ    411
11.2 編寫(xiě)LINQ 表達(dá)式    412
11.2.1 LINQ 的組成     412
11.2.2 使用Enumerable 類(lèi)構(gòu)建LINQ表達(dá)式      412
11.2.3 理解延遲執(zhí)行    414
11.2.4 使用Where 擴(kuò)展方法過(guò)濾實(shí)體     415
11.2.5 以命名方法為目標(biāo)    417
11.2.6 通過(guò)刪除委托的顯式實(shí)例化來(lái)簡(jiǎn)化代碼     417
11.2.7 以lambda 表達(dá)式為目標(biāo)   418
11.2.8 實(shí)體的排序     418
11.2.9 按項(xiàng)自身排序    419
11.2.10 使用var 或指定類(lèi)型聲明查詢(xún)      419
11.2.11 根據(jù)類(lèi)型進(jìn)行過(guò)濾   420
11.2.12 使用LINQ 處理集合和bag 421
11.3 使用LINQ 與EF Core    422
11.3.1 構(gòu)建EF Core 模型   423
11.3.2 序列的過(guò)濾和排序    425
11.3.3 將序列投影到新的類(lèi)型中  427
11.3.4 連接和分組序列     429
11.3.5 聚合序列     431
11.3.6 小心使用Count    433
11.3.7 使用LINQ 分頁(yè)     435
11.4 使用語(yǔ)法糖美化LINQ 語(yǔ)法  438
11.5 使用帶有并行LINQ 的多個(gè)線(xiàn)程       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:測(cè)試你掌握的知識(shí)       444
11.8.2 練習(xí)11.2:練習(xí)使用LINQ進(jìn)行查詢(xún)     445
11.8.3 練習(xí)11.3:探索主題   445
11.9 本章小結(jié)       446
第12 章 使用ASP.NET Core 進(jìn)行Web 開(kāi)發(fā)      447
12.1 理解ASP.NET Core     447
12.1.1 經(jīng)典ASP.NET 與現(xiàn)代ASP.NET Core 的對(duì)比  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ù)模型供本書(shū)剩余部分章節(jié)使用     454
12.4.1 使用SQLite 創(chuàng)建實(shí)體模型類(lèi)庫(kù)     455
12.4.2 使用SQL Server 創(chuàng)建實(shí)體模型類(lèi)庫(kù)     462
12.4.3 測(cè)試類(lèi)庫(kù)     465
12.5 了解Web 開(kāi)發(fā)     466
12.5.1 HTTP      466
12.5.2 使用Google Chrome 瀏覽器發(fā)出HTTP 請(qǐng)求    468
12.5.3 了解客戶(hù)端Web 開(kāi)發(fā)技術(shù) 470
12.6 實(shí)踐和探索       470
12.6.1 練習(xí)12.1:測(cè)試你掌握的知識(shí)       470
12.6.2 練習(xí)12.2:了解Web 開(kāi)發(fā)中
常用的縮寫(xiě)      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 測(cè)試和保護(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 通過(guò)Razor Pages 使用共享布局     483
13.2.4 使用后臺(tái)代碼文件與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 將依賴(lài)服務(wù)注入Razor Pages 中     490
13.4 使用Razor 類(lèi)庫(kù)     491
13.4.1 禁用Visual Studio Code 的Compact Folders 功能   491
13.4.2 創(chuàng)建Razor 類(lèi)庫(kù)     492
13.4.3 實(shí)現(xiàn)分部視圖以顯示單個(gè)員工       494
13.4.4 使用和測(cè)試Razor 類(lèi)庫(kù)   495
13.5 配置服務(wù)和HTTP 請(qǐng)求管道 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 啟用對(duì)請(qǐng)求解壓縮的支持  501
13.6 啟用HTTP/3 支持    502
13.7 實(shí)踐和探索      504
13.7.1 練習(xí)13.1:測(cè)試你掌握的知識(shí)       504
13.7.2 練習(xí)13.2:練習(xí)建立數(shù)據(jù)驅(qū)動(dòng)的網(wǎng)頁(yè)     504
13.7.3 練習(xí)13.3:練習(xí)為控制臺(tái)應(yīng)用程序構(gòu)建Web 頁(yè)面  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ù)庫(kù)      507
14.1.3 探索默認(rèn)的ASP.NET Core MVC網(wǎng)站       509
14.1.4 啟動(dòng)MVC 網(wǎng)站項(xiàng)目   510
14.1.5 了解訪(fǎng)問(wèn)者注冊(cè)     511
14.1.6 查看MVC 網(wǎng)站項(xiàng)目結(jié)構(gòu)  511
14.1.7 回顧ASP.NET Core Identity數(shù)據(jù)庫(kù)      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 使用依賴(lài)服務(wù)進(jìn)行記錄  520
14.2.6 實(shí)體和視圖模型     521
14.2.7 視圖       523
14.2.8 理解如何使用標(biāo)記助手避開(kāi)緩存     525
14.3 自定義ASP.NET Core MVC網(wǎng)站        526
14.3.1 自定義樣式     526
14.3.2 設(shè)置類(lèi)別圖像    526
14.3.3 Razor 語(yǔ)法和表達(dá)式    526
14.3.4 定義類(lèi)型化視圖     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 跨功能過(guò)濾器    538
14.3.11 使用輸出緩存    543
14.4 查詢(xún)數(shù)據(jù)庫(kù)和使用顯示模板  547
14.5 使用異步任務(wù)提高可伸縮性  550
14.6 實(shí)踐與探索      551
14.6.1 練習(xí)14.1:測(cè)試你掌握的知識(shí)       551
14.6.2 練習(xí)14.2:通過(guò)實(shí)現(xiàn)類(lèi)別詳細(xì)信息頁(yè)面練習(xí)實(shí)現(xiàn)MVC   552
14.6.3 練習(xí)14.3:理解和實(shí)現(xiàn)異步操作方法以提高可伸縮性  552
14.6.4 練習(xí)14.4:對(duì)MVC 控制器進(jìn)行單元測(cè)試    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ù)縮寫(xiě)詞  554
15.1.2 理解Web API 的HTTP 請(qǐng)求和響應(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ù)庫(kù)創(chuàng)建Web 服務(wù)     560
15.1.6 為實(shí)體創(chuàng)建數(shù)據(jù)存儲(chǔ)庫(kù)  562
15.1.7 實(shí)現(xiàn)Web API 控制器   565
15.1.8 配置客戶(hù)存儲(chǔ)庫(kù)和Web API控制器      566
15.1.9 指定問(wèn)題的細(xì)節(jié)     570
15.1.10 控制XML 序列化   570
15.2 解釋和測(cè)試Web 服務(wù)   571
15.2.1 使用瀏覽器測(cè)試GET 請(qǐng)求 571
15.2.2 使用REST Client 擴(kuò)展測(cè)試HTTP 請(qǐng)求     572
15.2.3 理解Swagger    575
15.2.4 使用Swagger UI 測(cè)試請(qǐng)求 575
15.2.5 啟用HTTP 日志記錄   578
15.2.6 W3CLogger 支持記錄額外的請(qǐng)求頭      580
15.3 使用HTTP 客戶(hù)端消費(fèi)Web 服務(wù)        580
15.3.1 了解HttpClient 類(lèi)   580
15.3.2 使用HttpClientFactory 配置HTTP 客戶(hù)端    581
15.3.3 在控制器中以JSON 格式獲取客戶(hù)     581
15.3.4 啟動(dòng)多個(gè)項(xiàng)目    583
15.3.5 啟動(dòng)Web 服務(wù)和MVC 客戶(hù)端項(xiàng)目       585
15.4 為Web 服務(wù)實(shí)現(xiàn)高級(jí)功能  586
15.5 使用最小API 構(gòu)建Web 服務(wù)  586
15.5.1 測(cè)試最小天氣服務(wù)    588
15.5.2 向Northwind 網(wǎng)站主頁(yè)添加天氣預(yù)報(bào)     588
15.6 實(shí)踐和探索       591
15.6.1 練習(xí)15.1:測(cè)試你掌握的知識(shí)       591
15.6.2 練習(xí)15.2:練習(xí)使用HttpClient創(chuàng)建和刪除客戶(hù)    591
15.6.3 練習(xí)15.3:探索主題   591
15.7 本章小結(jié)       591
第16 章 使用Blazor 構(gòu)建用戶(hù)界面  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 理解到頁(yè)面組件的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 定義和測(cè)試簡(jiǎn)單的Blazor服務(wù)器組件     608
16.3.2 將組件轉(zhuǎn)換成可路由的頁(yè)面組件     609
16.3.3 將實(shí)體放入組件     610
16.3.4 為Blazor 組件抽象服務(wù)  613
16.3.5 使用EditForm 組件定義表單 615
16.3.6 構(gòu)建共享的客戶(hù)詳細(xì)信息組件       615
16.3.7 構(gòu)建創(chuàng)建、編輯和刪除客戶(hù)的組件       617
16.3.8 測(cè)試客戶(hù)組件    619
16.4 使用Blazor WebAssembly 構(gòu)建組件        619
16.4.1 為Blazor WebAssembly 配置服務(wù)器      620
16.4.2 為Blazor WebAssembly 配置客戶(hù)端      622
16.4.3 測(cè)試Blazor WebAssembly 組件和服務(wù)      624
16.5 改進(jìn)Blazor WebAssembly應(yīng)用程序       626
16.6 實(shí)踐和探索      626
16.6.1 練習(xí)16.1:測(cè)試你掌握的知識(shí)       626
16.6.2 練習(xí)16.2:通過(guò)創(chuàng)建乘法表組件進(jìn)行練習(xí)    627
16.6.3 練習(xí)16.3:通過(guò)創(chuàng)建國(guó)家導(dǎo)航項(xiàng)進(jìn)行練習(xí)     627
16.6.4 練習(xí)16.4:探索主題   628
16.7 本章小結(jié)       628
第17 章 結(jié)語(yǔ)        629

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)