Visual C# 從入門到精通, 10/e Microsoft Visual C# Step by Step 10th

[英] 約翰·夏普(John Sharp)著 周靖 譯

  • Visual C# 從入門到精通, 10/e-preview-1
  • Visual C# 從入門到精通, 10/e-preview-2
  • Visual C# 從入門到精通, 10/e-preview-3
Visual C# 從入門到精通, 10/e-preview-1

買這商品的人也買了...

商品描述

C#作為微軟的旗艦編程語言,是編寫高效應用程序的語言,深受程序員喜愛。《Visual C#從入門到精通(第10版)》沿襲深受讀者歡迎的Step by Step風格,圍繞語言的基礎知識和新功能進行了全面的介紹,同時借助於練習來引導讀者逐步構建雲端應用等。全書共27章,結構清晰,敘述清楚。所有練習均在Visual Studio 2022簡體中文版上進行過全面演練。無論是剛開始接觸面向對象編程的新手,還是打算遷移到C#的C、C++或Java程序員,都可以從本書中汲取到新的知識,迅速掌握C#編程技術。

目錄大綱

簡明目錄

第Ⅰ部分  Visual C#和Visual Studio 2022概述

第1章  歡迎進入C#編程世界 3

第2章  使用變量、操作符和表達式 37

第3章  方法和作用域 61

第4章  使用判斷語句 93

第5章  使用復合賦值和循環語句 115

第6章  管理錯誤和異常 131

第Ⅱ部分  理解C#對象模型

第7章  創建並管理類和對象 155

第8章  理解值和引用 177

第9章  使用枚舉和結構創建值類型 201

第10章  使用數組 219

第11章  理解參數數組 243

第12章  使用繼承 255

第13章  創建接口和定義抽象類 277

第14章  使用垃圾回收和資源管理 303

第Ⅲ部分  用C#定義可擴展類型

第15章  實現屬性以訪問字段 327

第16章  處理二進制數據和使用索引器 357

第17章  泛型概述 373

第18章  使用集合 403

第19章  枚舉集合 427

第20章  分離應用程序邏輯並處理事件 441

第21章  使用查詢表達式來查詢內存中的數據 469

第22章  操作符重載 491

第Ⅳ部分  用C#構建UWP應用

第23章  使用任務提高吞吐量 511

第24章  通過異步操作提高響應速度 549

第25章  實現UWP應用的用戶界面 587

第26章  在UWP應用中顯示和搜索數據 627

第27章  在UWP應用中訪問遠程數據庫 655

 

 

 

詳細目錄

第Ⅰ部分  Visual C#和Visual Studio 2022概述

第1章  歡迎進入C#編程世界 3

1.1  寫第一個C#程序 3

1.2  開始在Visual Studio 2022環境中編程 8

1.3  用Visual Studio 2022寫第一個程序 12

1.4  使用命名空間 17

1.5  命名空間和程序集 18

1.6  對代碼進行註釋 19

1.7  創建圖形應用程序 19

1.7.1  探索通用Windows平臺應用程序 28

1.7.2  向圖形應用程序添加代碼 31

小結 34

第1章快速參考 35

第2章  使用變量、操作符和表達式 37

2.1  理解語句 37

2.2  使用標識符 38

2.3  C#語言的關鍵字 38

2.4  使用變量 39

2.4.1  命名變量 39

2.4.2  聲明變量 40

2.4.3  指定數值 40

2.5  使用基元數據類型 41

2.5.1  未賦值的局部變量 42

2.5.2  顯示基元數據類型的值 42

2.6  使用算術操作符 47

2.6.1  操作符和類型 48

2.6.2  深入瞭解算術操作符 49

2.6.3  控制優先級 54

2.6.4  使用結合性對表達式進行求值 54

2.6.5  結合性和賦值操作符 55

2.7  變量遞增和遞減 56

2.8  聲明隱式類型的局部變量 57

小結 58

第2章快速參考 58

第3章  方法和作用域 61

3.1  創建方法 61

3.1.1  聲明方法 62

3.1.2  從方法返回數據 63

3.1.3  使用表達式主體方法 63

3.2  調用方法 65

3.2.1  方法的調用語法 65

3.2.2  從方法返回多個值 67

3.3  使用作用域 69

3.3.1  定義局部作用域 69

3.3.2  定義類作用域 70

3.3.3  重載方法 71

3.3.4  編寫方法 71

3.4  使用Visual Studio調試器來調試方法 75

3.4.1  重構代碼 80

3.4.2  嵌套方法 80

3.5  使用可選參數和具名參數 83

3.5.1  定義可選參數 84

3.5.2  傳遞具名參數 85

3.5.3  消除可選參數和具名參數的歧義 85

小結 90

第3章快速參考 90

第4章  使用判斷語句 93

4.1  聲明布爾變量 93

4.2  使用布爾操作符 94

4.2.1  理解相等和關系操作符 94

4.2.2  理解條件邏輯操作符 95

4.2.3  短路求值 95

4.2.4  操作符的優先級和結合性總結 96

4.2.5  模式匹配 97

4.3  使用if語句做判斷 97

4.3.1  理解if語句的語法 97

4.3.2  使用代碼塊分組語句 99

4.3.3  嵌套if語句 100

4.4  使用switch語句做判斷 105

4.4.1  理解switch語句的語法 105

4.4.2  遵守switch語句的規則 106

4.5  為switch表達式使用模式匹配 110

小結 112

第4章快速參考 112

第5章  使用復合賦值和循環語句 115

5.1  使用復合賦值操作符 115

5.2  編寫while語句 116

5.3  編寫for語句 120

5.4  編寫do語句 122

小結 129

第5章快速參考 129

第6章  管理錯誤和異常 131

6.1  嘗試執行代碼並捕捉異常 132

6.1.1  未處理的異常 133

6.1.2  使用多個catch處理程序 134

6.1.3  捕捉多個異常 135

6.1.4  篩選異常 136

6.1.5  傳播異常 139

6.2  使用checked和unchecked進行整數運算 141

6.2.1  編寫checked語句 142

6.2.2  編寫checked表達式 142

6.3  拋出異常 145

6.4  使用finally塊 150

小結 151

第6章快速參考 151

第Ⅱ部分  理解C#對象模型

第7章  創建並管理類和對象 155

7.1  理解分類 155

7.2  封裝的目的 156

7.3  定義並使用類 156

7.4  控制可訪問性 158

7.5  使用構造器 159

7.5.1  重載構造器 160

7.5.2  解構對象 167

7.6  理解靜態方法和數據 168

7.6.1  創建共享字段 169

7.6.2  使用const關鍵字創建靜態字段 170

7.6.3  理解靜態類 170

7.6.4  靜態using語句 170

7.7  匿名類 173

小結 174

第7章快速參考 174

第8章  理解值和引用 177

8.1  復制值類型的變量和類 177

8.2  理解null值和可空類型 182

8.2.1  空條件操作符 184

8.2.2  使用可空類型 185

8.2.3  理解可空類型的屬性 185

8.3  使用ref參數和out參數 186

8.3.1  創建ref參數 187

8.3.2  創建out參數 188

8.4  電腦內存的組織方式 190

8.4.1  使用棧和堆 191

8.4.2  System.Object類 192

8.4.3  裝箱 192

8.4.4  拆箱 193

8.5  數據的安全轉型 194

8.5.1  is操作符 195

8.5.2  as操作符 195

8.5.3  復習switch語句 196

小結 198

第8章快速參考 199

第9章  使用枚舉和結構創建值類型 201

9.1  使用枚舉 201

9.1.1  聲明枚舉 201

9.1.2  使用枚舉 202

9.1.3  選擇枚舉字面值 203

9.1.4  選擇枚舉的基礎類型 203

9.2  使用結構 205

9.2.1  聲明結構 207

9.2.2  理解結構和類的區別 208

9.2.3  聲明結構變量 209

9.2.4  理解結構的初始化 210

9.2.5  復制結構變量 214

小結 218

第9章快速參考 218

第10章  使用數組 219

10.1  聲明數組變量 220

10.2  創建數組實例 220

10.3  填充和使用數組 221

10.3.1  創建隱式類型的數組 222

10.3.2  訪問單獨的數組元素 223

10.3.3  訪問數組元素序列 223

10.3.4  遍歷數組 224

10.3.5  數組作為方法的參數和返回值 225

10.4  復制數組 226

10.5  使用多維數組 228

10.6  訪問包含值類型的數組 238

小結 241

第10章快速參考 241

第11章  理解參數數組 243

11.1  回顧重載 243

11.2  使用數組參數 244

11.2.1  聲明參數數組 245

11.2.2  使用params object[] 247

11.2.3  使用參數數組 248

11.3  比較參數數組和可選參數 251

小結 253

第11章快速參考 253

第12章  使用繼承 255

12.1  什麽是繼承 255

12.2  使用繼承 256

12.2.1  復習System.Object類 258

12.2.2  調用基類構造器 258

12.2.3  類的賦值 259

12.2.4  聲明新方法 260

12.2.5  聲明虛方法 262

12.2.6  聲明重寫方法 263

12.2.7  理解受保護的訪問 265

12.3  創建擴展方法 271

小結 274

第12章快速參考 274

第13章  創建接口和定義抽象類 277

13.1  理解接口 277

13.1.1  定義接口 278

13.1.2  實現接口 279

13.1.3  通過接口引用類 280

13.1.4  使用多個接口 281

13.1.5  顯式實現接口 281

13.1.6  用接口進行版本控制 283

13.1.7  接口的限制 284

13.1.8  定義和使用接口 285

13.2  抽象類 293

13.3  密封類 295

13.3.1  密封方法 295

13.3.2  實現並使用抽象類 296

小結 301

第13章快速參考 302

第14章  使用垃圾回收和資源管理 303

14.1  對象生存期 303

14.1.1  編寫終結器 304

14.1.2  為什麽要使用垃圾回收器 306

14.1.3  垃圾回收器的工作原理 307

14.1.4  慎用終結器 308

14.2  資源管理 308

14.2.1  資源清理方法 309

14.2.2  異常安全的資源清理 309

14.2.3  using語句和IDisposable 接口 310

14.2.4  從終結器中調用Dispose方法 312

14.3  實現異常安全的資源清理 313

14.4  處理異步清理 322

小結 323

第14章快速參考 323

第Ⅲ部分  用C#定義可擴展類型

第15章  實現屬性以訪問字段 327

15.1  使用方法實現封裝 327

15.2  什麽是屬性 329

15.2.1  使用屬性 331

15.2.2  只讀屬性 332

15.2.3  只寫屬性 332

15.2.4  屬性的可訪問性 333

15.3  理解屬性的局限性 334

15.4  在接口中聲明屬性 335

15.4.1  用屬性替代方法 337

15.4.2  用屬性進行模式匹配 340

15.5  生成自動屬性 341

15.6  用屬性初始化對象 343

15.7  用帶屬性的“記錄”來實現輕量級結構 348

小結 352

第15章快速參考 353

第16章  處理二進制數據和使用索引器 357

16.1  什麽是索引器 357

16.1.1  存儲二進制值 358

16.1.2  顯示二進制值 358

16.1.3  操縱二進制值 359

16.1.4  用索引器解決相同問題 360

16.2  理解索引器的訪問器 362

16.3  對比索引器和數組 363

16.3  接口中的索引器 365

16.4  在Windows應用程序中使用索引器 366

小結 371

第16章快速參考 371

第17章  泛型概述 373

17.1  object的問題 373

17.2  泛型解決方案 377

17.2.1  對比泛型類和常規類 379

17.2.2  泛型和約束 379

17.3  創建泛型類 379

17.3.1  二叉樹理論 379

17.3.2  使用泛型構造二叉樹類 382

17.4  創建泛型方法 391

17.5  可變性和泛型接口 396

17.5.1  協變接口 397

17.5.2  逆變接口 399

小結 401

第17章快速參考 401

第18章  使用集合 403

18.1  什麽是集合類 403

18.1.1  List<T>集合類 404

18.1.2  LinkedList<T>集合類 406

18.1.3  Queue<T>集合類 408

18.1.4  PriorityQueue<TElement, TPriority>集合類 409

18.1.5  Stack<T>集合類 410

18.1.6  Dictionary<TKey, TValue> 集合類 411

18.1.7  SortedList<TKey, TValue> 集合類 412

18.1.8  HashSet<T>集合類 413

18.2  使用集合初始化器 415

18.3  Find方法、謂詞和Lambda 表達式 416

18.3.1  Lambda表達式的形式 417

18.3.2  Lambda表達式和匿名 方法 418

18.4  比較數組和集合 419

小結 423

第18章快速參考 424

第19章  枚舉集合 427

19.1  枚舉集合中的元素 427

19.1.1  手動實現枚舉器 428

19.1.2  實現IEnumerable接口 433

19.2  用迭代器實現枚舉器 435

19.2.1  一個簡單的迭代器 435

19.2.2  使用迭代器為Tree<TItem> 類定義枚舉器 437

小結 439

第19章快速參考 439

第20章  分離應用程序邏輯並處理事件 441

20.1  理解委托 442

20.2  .NET類庫的委托例子 443

20.2.1  自動化工廠的例子 444

20.2.2  聲明和使用委托 447

20.3  Lambda表達式和委托 455

20.4  啟用事件通知 456

20.4.1  聲明事件 456

20.4.2  訂閱事件 457

20.4.3  取消訂閱事件 458

20.4.4  引發事件 458

20.5  理解用戶界面事件 459

20.6  使用事件 460

小結 466

第20章快速參考 466

第21章  使用查詢表達式來查詢內存中的數據 469

21.1  什麽是LINQ 469

21.2  在C#應用程序中使用LINQ 470

21.2.1  選擇數據 472

21.2.2  篩選數據 474

21.2.3  排序、分組和聚合數據 474

21.2.4  聯接數據 476

21.2.5  使用查詢操作符 478

21.2.6  查詢Tree<TItem>對象中的數據 480

21.3  LINQ和推遲求值 485

小結 489

第21章快速參考 489

第22章  操作符重載 491

22.1  理解操作符 491

22.1.1  操作符的限制 492

22.1.2  重載的操作符 492

22.1.3  創建對稱操作符 493

22.1.4  理解復合賦值 495

22.2  聲明遞增和遞減操作符 495

22.3  比較結構和類中的操作符 496

22.4  定義成對的操作符 497

22.5  實現操作符 497

22.6  重載相等操作符 500

22.7  理解轉換操作符 503

22.7.1  提供內建轉換 503

22.7.2  實現用戶自定義的轉換操作符 504

22.7.3  再論創建對稱操作符 505

22.7.4  編碼轉換操作符 506

小結 508

第22章快速參考 508

第Ⅳ部分  用C#構建UWP應用

第23章  使用任務提高吞吐量 511

23.1  使用並行處理執行多任務處理 511

23.2  多核處理器的崛起 512

23.3  用Microsoft .NET實現多任務處理 513

23.3.1  任務、線程和線程池 513

23.3.2  創建、運行和控制任務 515

23.3.3  使用Task類實現並行 處理 517

23.3.4  使用Parallel類對任務進行抽象 525

23.3.5  什麽時候使用 Parallel類 529

23.4  取消任務和處理異常 531

23.4.1  協作式取消的原理 532

23.4.2  使用AggregateException類處理任務的異常 542

23.4.3  為Canceled和Faulted任務使用延續 543

小結 544

第23章快速參考 545

第24章  通過異步操作提高響應速度 549

24.1  實現異步方法 550

24.1.1  定義異步方法:問題 550

24.1.2  定義異步方法:解決 方案 553

24.1.3  定義返回值的異步方法 557

24.1.4  異步方法註意事項 558

24.1.5  異步方法和Windows Runtime API 560

24.1.6  任務、內存分配和效率 561

24.2  用PLINQ進行並行數據訪問 564

24.2.1  用PLINQ增強遍歷集合時的性能 564

24.2.2  取消PLINQ查詢 568

24.3  同步對數據的並發訪問 569

24.3.1  鎖定數據 571

24.3.2  用於協調任務的同步 基元 572

24.3.3  取消同步 574

24.3.4  並發集合類 575

24.3.5  使用並發集合和鎖實現線程安全的數據訪問 575

小結 584

第24章快速參考 585

第25章  實現UWP應用的用戶界面 587

25.1  UWP應用的特點 588

25.2  使用“空白應用”模板構建UWP應用 590

25.3  實現可伸縮用戶界面 593

25.3.1  用Grid控件實現表格 佈局 602

25.3.2  用可視狀態管理器調整 佈局 610

25.4  向UI應用樣式 616

小結 626

第25章快速參考 626

第26章  在UWP應用中顯示和搜索         數據 627

26.1  實現Model-View-ViewModel模式 627

26.2  通過數據綁定顯示數據 628

26.2.1  通過數據綁定修改數據 633

26.2.2  為ComboBox控件使用數據 綁定 638

26.3  創建ViewModel 640

26.4  向ViewModel添加命令 643

小結 653

第26章快速參考 653

第27章  在UWP應用中訪問遠程數據庫 655

27.1  從數據庫獲取數據 655

27.1.1  創建實體模型 664

27.1.2  創建並使用REST Web 服務 669

27.2  更新UWP應用來使用Web 服務 683

27.3  在Customers應用中查找數據 693

27.4  通過REST Web服務插入、更新和刪除數據 699

小結 700

第27章快速參考 701