C#入門經典(第9版)

C#入門經典(第9版)

《C#入門經典(第9版)》是清華大學出版社2022年4月出版的圖書,作者是[德] 班傑明·帕金斯(Benjamin Perkins)和喬恩·D. 里德(Jon D. Reid) ,譯者是 齊立博。

基本介紹

  • 中文名:C#入門經典(第9版)
  • 作者:[德] 班傑明·帕金斯(Benjamin Perkins)、喬恩·D. 里德(Jon D. Reid)
  • 譯者:齊立博
  • 出版時間:2022年4月
  • 出版社:清華大學出版社
  • 頁數:632 頁
  • ISBN:9787302603030
  • 原作品:Beginning C# and NET 2021 Edition
  • 定價:118 元
  • 開本:16 開
  • 裝幀:平裝
內容簡介,圖書目錄,作者簡介,

內容簡介

C#旨在設計成為一種簡單、現代、通用以及面向對象的程式設計語言:此種語言的實現,應提供對於以下軟體工程要素的支持:強類型檢查、數組維度檢查、未初始化的變數引用檢測、自動垃圾收集(Garbage Collection,指一種自動記憶體釋放技術)。軟體必須做到強大、持久,並具有較高的編程生產效率。C#語言為在分散式環境中的開發提供適用的組件。
《C#入門經典(第9版)》從初學者角度出發,圍繞C#語言的基礎知識和新功能,詳細介紹使用C#進行應用程式開發應該掌握的各方面技術,語言通俗易懂、實例豐富多彩。所有知識都結合具體實例進行介紹,涉及的程式代碼給出了詳細注釋,可使讀者輕鬆領會C#應用程式開發的精髓,快速提高開發技能。
《C#入門經典(第9版)》分為3個部分,共21章。無論是剛開始接觸面向對象編程的新手,還是打算遷移到C#的C、C++或Java程式設計師,都可以從《C#入門經典(第9版)》汲取到新的知識。迅速掌握C#編程技術。
《C#入門經典(第9版)》主要特色:
  講解變數、表達式、控制流程、函式、調試和錯誤處理
  涵蓋面向對象編程、類、類成員、ASP.NETCore、WCF、RESTAPI和BlazorApp編程技術
  闡述代碼導航、IntelliSense、重構和代碼修復等增強功能如何幫助你更快捷、更輕鬆地編寫程式
  提供大量可下載的示例代碼
  如何在流程早期發現和修復bug,節省時間,減少麻煩
  探索雲計算、跨平台和數據訪問編程

圖書目錄

第I部分 C#語言
第1章 C#簡介 3
1.1 .NET的含義 3
1.1.1 .NET Framework、.NET Standard和
.NET Core 4
1.1.2 使用.NET編寫程式 4
1.2 C#的含義 7
1.2.1 用C#能編寫什麼樣的應用程式 8
1.2.2 本書中的C# 8
1.3 Visual Studio 8
1.3.1 Visual Studio產品 9
1.3.2 解決方案 9
1.4 本章要點 9
第2章 編寫C#程式 11
2.1 Visual Studio開發環境 12
2.2 控制台應用程式 15
2.2.1 Solution Explorer視窗 17
2.2.2 Properties視窗 18
2.2.3 Error List視窗 18
2.3 桌面應用程式 19
2.4 本章要點 22
第3章 變數和表達式 25
3.1 C#的基本語法 25
3.2 C#控制台應用程式的基本結構 28
3.3 變數 29
3.3.1 簡單類型 29
3.3.2 變數的命名 32
3.3.3 字面值 33
3.4 表達式 35
3.4.1 數學運算符 36
3.4.2 賦值運算符 39
3.4.3 運算符的優先權 40
3.4.4 名稱空間 40
3.5 習題 42
3.6 本章要點 42
第4章 流程控制 43
4.1 布爾邏輯 43
4.1.1 布爾按位運算符和賦值運算符 45
4.1.2 運算符優先權的更新 46
4.2 分支 47
4.2.1 三元運算符 47
4.2.2 if語句 47
4.2.3 switch語句 51
4.3 循環 53
4.3.1 do循環 53
4.3.2 while循環 56
4.3.3 for循環 57
4.3.4 循環的中斷 58
4.3.5 無限循環 59
4.4 習題 59
4.5 本章要點 60
第5章 變數的更多內容 61
5.1 類型轉換 61
5.1.1 隱式轉換 62
5.1.2 顯式轉換 63
5.1.3 使用Convert命令進行顯式轉換 65
5.2 複雜的變數類型 67
5.2.1 枚舉 67
5.2.2 結構 71
5.2.3 數組 73
5.3 字元串的處理 83
5.4 習題 87
5.5 本章要點 87
第6章 函式 89
6.1 定義和使用函式 90
6.1.1 返回值 91
6.1.2 參數 93
6.2 變數的作用域 100
6.2.1 其他結構中變數的作用域 103
6.2.2 參數和返回值與全局數據 104
6.2.3 局部函式 106
6.3 Main()函式 106
6.4 結構函式 108
6.5 函式的重載 109
6.6 委託 111
6.7 習題 113
6.8 本章要點 114
第7章 調試和錯誤處理 115
7.1 Visual Studio中的調試 115
7.1.1 非中斷(正常)模式下的調試 116
7.1.2 中斷模式下的調試 123
7.2 錯誤處理 129
7.2.1 try...catch...finally 129
7.2.2 throw表達式 135
7.2.3 列出和配置異常 135
7.3 習題 136
7.4 本章要點 136
第8章 面向對象編程簡介 137
8.1 面向對象編程的含義 137
8.1.1 對象的含義 138
8.1.2 一切皆對象 140
8.1.3 對象的生命周期 141
8.1.4 靜態成員和實例類成員 141
8.2 OOP技術 142
8.2.1 接口 143
8.2.2 繼承 144
8.2.3 多態性 146
8.2.4 對象之間的關係 147
8.2.5 運算符重載 148
8.2.6 事件 149
8.2.7 引用類型和值類型 149
8.3 桌面應用程式中的OOP 150
8.4 習題 153
8.5 本章要點 153
第9章 定義類 155
9.1 C#中的類定義 155
9.2 System.Object 160
9.3 構造函式和析構函式 161
9.4 Visual Studio中的OOP工具 165
9.4.1 Class View視窗 165
9.4.2 對象瀏覽器 166
9.4.3 添加類 168
9.4.4 類圖 169
9.5 類庫項目 170
9.6 接口和抽象類 173
9.7 結構類型 175
9.8 淺度和深度複製 176
9.9 習題 177
9.10 本章要點 177
第10章 定義類成員 179
10.1 成員定義 179
10.1.1 定義欄位 180
10.1.2 定義方法 180
10.1.3 定義屬性 181
10.1.4 元組析構 186
10.1.5 重構成員 186
10.1.6 自動屬性 187
10.2 類成員的其他主題 188
10.2.1 隱藏基類方法 188
10.2.2 調用重寫或隱藏的基類方法 189
10.2.3 使用嵌套的類型定義 190
10.3 接口的實現 192
10.4 部分類定義 194
10.5 部分方法定義 195
10.6 示例應用程式 197
10.6.1 規劃應用程式 197
10.6.2 編寫類庫 197
10.6.3 類庫的客戶應用程式 203
10.7 Call Hierarchy視窗 204
10.8 習題 205
10.9 本章要點 205
第11章 集合、比較和轉換 207
11.1 集合 207
11.1.1 使用集合 208
11.1.2 定義集合 213
11.1.3 索引符 214
11.1.4 給CardLib添加Cards集合 216
11.1.5 鍵控集合和IDictionary 218
11.1.6 疊代器 219
11.1.7 疊代器和集合 223
11.1.8 深度複製 223
11.1.9 給CardLib添加深度複製 225
11.2 比較 226
11.2.1 類型比較 226
11.2.2 使用is運算符模式表達式
進行模式匹配 230
11.2.3 值比較 231
11.3 轉換 244
11.3.1 重載轉換運算符 244
11.3.2 as運算符 245
11.4 習題 246
11.5 本章要點 247
第12章 泛型 249
12.1 泛型的含義 249
12.2 使用泛型 250
12.2.1 可空類型 251
12.2.2 System.Collections.Generic
名稱空間 257
12.3 定義泛型類型 266
12.3.1 定義泛型類 266
12.3.2 定義泛型接口 275
12.3.3 定義泛型方法 275
12.3.4 定義泛型委託 277
12.4 變體 277
12.4.1 協變 278
12.4.2 抗變 278
12.5 習題 279
12.6 本章要點 280
第13章 高級C#技術 281
13.1 ::運算符和全局名稱空間
限定符 282
13.2 定製異常 283
13.3 事件 284
13.3.1 事件的含義 284
13.3.2 處理事件 286
13.3.3 定義事件 288
13.4 擴展和使用CardLib 295
13.5 特性 302
13.5.1 讀取特性 302
13.5.2 創建特性 303
13.6 初始化器 304
13.6.1 對象初始化器 304
13.6.2 集合初始化器 306
13.7 類型推理 309
13.8 匿名類型 310
13.9 動態查找 314
13.10 高級方法參數 317
13.10.1 可選參數 318
13.10.2 命名參數 319
13.11 Lambda表達式 323
13.11.1 複習匿名方法 323
13.11.2 把Lambda表達式用於
匿名方法 324
13.11.3 Lambda表達式的參數 327
13.11.4 Lambda表達式的語句體 327
13.11.5 Lambda表達式用作委託和
表達式樹 328
13.11.6 Lambda表達式和集合 329
13.12 習題 331
13.13 本章要點 332
第II部分 數據訪問
第14章 檔案 337
14.1 用於輸入和輸出的類 337
14.1.1 File類和Directory類 338
14.1.2 FileInfo類 339
14.1.3 DirectoryInfo類 340
14.1.4 路徑名和相對路徑 341
14.2 流 341
14.2.1 使用流的類 341
14.2.2 FileStream對象 342
14.2.3 StreamWriter對象 347
14.2.4 StreamReader對象 349
14.2.5 異步檔案訪問 351
14.2.6 讀寫壓縮檔案 352
14.3 監控檔案系統 355
14.4 習題 359
14.5 本章要點 359
第15章 XML和JSON 361
15.1 XML基礎 361
15.2 JSON 基礎 362
15.3 XML模式 363
15.4 XML文檔對象模型 365
15.4.1 XmlDocument類 365
15.4.2 XmlElement類 366
15.4.3 修改節點的值 369
15.5 用XPath搜尋XML 374
15.6 習題 380
15.7 本章要點 381
第16章 LINQ 383
16.1 LINQ to XML 384
16.1.1 LINQ to XML函式構造方式 384
16.1.2 處理XML片段 387
16.2 LINQ提供程式 389
16.3 LINQ查詢語法 389
16.3.1 用var關鍵字聲明結果變數 390
16.3.2 指定數據源:from子句 391
16.3.3 指定條件:where子句 391
16.3.4 選擇元素:select子句 391
16.3.5 完成:使用foreach循環 392
16.3.6 延遲執行的查詢 392
16.4 LINQ方法語法 392
16.4.1 LINQ擴展方法 392
16.4.2 查詢語法和方法語法 392
16.4.3 Lambda 表達式 393
16.5 排序查詢結果 395
16.6 orderby子句 396
16.7 查詢大型數據集 396
16.8 使用聚合運算符 399
16.9 單值選擇查詢 401
16.10 多級排序 404
16.11 分組查詢 405
16.12 join查詢 407
16.13 習題 408
16.14 本章要點 409
第17章 資料庫 411
17.1 使用資料庫 411
17.2 Entity Framework 412
17.3 代碼優先與資料庫優先 412
17.4 遷移和搭框架 412
17.5 安裝SQL Server Express
LocalDB 412
17.6 代碼優先資料庫 413
17.7 資料庫的位置 423
17.8 導航資料庫關係 424
17.9 在已有的資料庫中創建和
查詢XML 430
17.10 習題 433
17.11 本章要點 434
第III部分 雲和跨平台編程
第18章 .NET與ASP.NET 437
18.1 跨平台基礎知識以及必知的
關鍵術語 438
18.2 .NET Standard的含義 440
18.2.1 共享項目、PCL和
.NET Standard 441
18.2.2 構建和打包.NET Standard庫 443
18.3 引用和目標.NET 446
18.4 .NET Core的含義 447
18.4.1 跨平台 447
18.4.2 開源 448
18.4.3 針對雲進行最佳化 448
18.4.4 性能 448
18.4.5 模組化設計 449
18.4.6 獨立的部署模型 450
18.5 從.NET Framework移植
到.NET 452
18.5.1 識別第三方依賴 453
18.5.2 理解哪些功能不可用 454
18.5.3 升級當前的.NET Framework
目標 454
18.6 Web應用程式概述 454
18.7 選擇合適的ASP.NET 455
18.7.1 ASP.NET Web Forms 456
18.7.2 ASP.NET MVC/ASP.NET
Core Web App MVC 461
18.7.3 ASP.NET Web API 463
18.7.4 ASP.NET Core Web App 463
18.8 本章要點 469
第19章 基本的雲編程 471
19.1 雲、雲計算和雲最佳化堆疊 472
19.2 雲模式和最佳實踐 474
19.3 使用Microsoft Azure C#庫
創建存儲容器 475
19.4 創建使用存儲容器的ASP.NET
Core Web應用程式 483
19.5 習題 488
19.6 本章要點 489
第20章 基本Web API和WCF編程 491
20.1 創建ASP.NET Core Web API 491
20.2 使用ASP.NET Core Web API 495
20.3 REST的含義 501
20.4 WCF的含義 501
20.5 WCF概念 502
20.5.1 WCF通信協定 502
20.5.2 地址、端點和綁定 503
20.5.3 協定 504
20.5.4 訊息模式 505
20.5.5 行為 505
20.5.6 駐留 505
20.6 WCF編程 505
20.6.1 WCF測試客戶端程式 511
20.6.2 定義WCF服務協定 513
20.6.3 自駐留的WCF服務 519
20.7 習題 525
20.8 本章要點 526
第21章 基本桌面編程 527
21.1 XAML 528
21.1.1 關注點分離 528
21.1.2 XAML基礎知識 529
21.2 動手實踐 530
21.2.1 WPF控制項 531
21.2.2 屬性 532
21.2.3 事件 535
21.3 控制項布局 540
21.3.1 基本布局概念 540
21.3.2 布局面板 541
21.4 遊戲客戶端 549
21.4.1 About視窗 549
21.4.2 Options視窗 553
21.4.3 數據綁定 562
21.4.4 使用ListBox控制項啟動遊戲 566
21.5 創建控制項並設定樣式 569
21.5.1 樣式 570
21.5.2 模板 570
21.5.3 觸發器 572
21.5.4 動畫 573
21.6 WPF用戶控制項 574
21.7 主視窗 586
21.7.1 選單控制項 586
21.7.2 路由命令和選單 586
21.8 把所有內容結合起來 590
21.8.1 重構域模型 590
21.8.2 視圖模型 597
21.8.3 大功告成 604
21.9 習題 611
21.10 本章要點 612
附錄A 習題答案(可從配套網站下載)

作者簡介

Benjamin Perkins, The Best C# Programmer In The World(全球**C#程式設計師),目前在微軟(德國慕尼黑)工作,擔任Azure團隊的升級工程師。Benjamin在IT行業從業超過20年,擔任過程式設計師、系統架構師、技術支持工程師和中層管理人員等。11歲時,Benjamin就開 始在Atari 1200XL桌上型電腦上用QBasic編寫程式。Benjamin 對技術和客戶服務富有激情,期待解決問題和開發更多世界級技術解決方案。Benjamin曾說:“ 我在爛熟於心之後才寫代碼,完整、正確地寫一次,這樣就不必再考慮它,除非要改進它。” Benjamin已撰寫了大量書籍、雜誌文章、培訓課程,也是一個活躍的博主。

相關詞條

熱門詞條

聯絡我們