C#面向對象程序設計教程(微課視頻版)

夏磊、仲寶才、張翀

  • 出版商: 清華大學
  • 出版日期: 2023-01-01
  • 定價: $474
  • 售價: 8.5$403
  • 語言: 簡體中文
  • ISBN: 7302619867
  • ISBN-13: 9787302619864
  • 相關分類: C#
  • 立即出貨 (庫存 < 3)

  • C#面向對象程序設計教程(微課視頻版)-preview-1
  • C#面向對象程序設計教程(微課視頻版)-preview-2
  • C#面向對象程序設計教程(微課視頻版)-preview-3
C#面向對象程序設計教程(微課視頻版)-preview-1

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

商品描述

本書作為面向對象程序設計的教程,系統、全面地介紹了有關C#程序開發所涉及的知識。全書共分2大部分,共21章,內容包括C#和Visual C#開發環境,C#語法基礎,面向對象程序設計概述,委托和事件,程序調試與異常處理,集合、索引器、泛型,LINQ技術,WPF開發,ADO.NET編程,文件操作,網絡編程,多線程編程和一個綜合實例等。全書每章均包含大量的案例,將理論知識與實例緊密結合,達到了學以致用的目的。 本書緊緊圍繞“理論知識+開發案例”的模式進行編寫,在最後一章中以一個完整的項目為主線,將面向對象的編程思想應用於實際項目開發中。本書註重基礎,內容豐富,相關案例和項目代碼十分完整,適合作為應用型本科及職業院校電腦、軟件工程等專業的教材,也可供C#初學者參考閱讀。

目錄大綱

  

  

  

  

  

  

  

  

入  門  篇

第1章  .NET基礎 3

1.1  .NET 3

1.2  .NET Framework 3

1.3  .NET Core 4

1.4  使用.NET Framework或.NET Core編寫應用程序 5

1.4.1  CIL和JIT 5

1.4.2  程序集 6

1.5  C#語言介紹 6

1.5.1  C#語言的發展歷史 6

1.5.2  C#語言的特點 6

1.5.3  C#語言的應用領域 7

1.6  小結 8

1.7  練習 8

第2章  C#初識 9

2.1  編寫第一個C#程序 9

2.2  C#程序結構概述 10

2.2.1  命名空間 11

2.2.2  類 11

2.2.3  Main()方法 12

2.2.4  C#語句和註釋 12

2.2.5  關鍵字與標識符 13

2.3  小結 14

2.4  練習 14

編程基礎篇

第3章  變量、常量及運算符 17

3.1  變量是什麽 17

3.2  變量的聲明及初始化 17

3.2.1  聲明變量 17

3.2.2  變量的初始化 18

3.3  數據類型 19

3.3.1  值類型 19

3.3.2  引用類型 27

3.4  變量的作用域 28

3.4.1  成員變量 28

3.4.2  局部變量 28

3.5  數據類型轉換 29

3.5.1  隱式類型轉換 29

3.5.2  顯式類型轉換 30

3.6  常量 31

3.6.1  const常量 31

3.6.2  readonly常量 32

3.6.3  靜態常量和動態常量的對比 32

3.7  運算符 33

3.7.1  算術運算符 33

3.7.2  自增自減運算符 34

3.7.3  賦值運算符 35

3.7.4  關系運算符 36

3.7.5  邏輯運算符 37

3.7.6  位運算符 39

3.7.7  條件運算符 42

3.8  運算符優先級與結合性 43

3.9  案例1:整錢兌零 44

3.10  小結 45

3.11  練習 45

第4章  流程控制語句 47

4.1  流程控制概述 47

4.2  順序結構 48

4.3  選擇結構 48

4.3.1  if語句 48

4.3.2  分支語句的嵌套 51

4.3.3  switch語句 52

4.3.4  案例2:彩票 54

4.4  循環結構 55

4.4.1  while循環 56

4.4.2  do…while循環 56

4.4.3  for循環 57

4.4.4  for循環的變體討論 58

4.4.5  循環的嵌套 60

4.4.6  案例3:減法表達式自動生成器 60

4.5  跳轉語句 61

4.5.1  break語句 61

4.5.2  continue語句 62

4.5.3  break與continue的區別 62

4.6  案例4:顯示素數 63

4.7  小結 64

4.8  練習 64

第5章  數組與字符串 67

5.1  數組概述 67

5.2  一維數組 68

5.2.1  一維數組初始化 69

5.2.2  一維數組的使用 70

5.2.3  案例5:生成一副撲克牌 70

5.3  二維數組 71

5.3.1  二維數組的創建 71

5.3.2  二維數組的初始化 71

5.3.3  二維數組的使用 72

5.3.4  案例6:數獨游戲判定 72

5.4  不規則數組(交錯數組) 73

5.5  C#中的Array類及數組的遍歷操作 75

5.5.1  Array類 75

5.5.2  數組的遍歷操作 76

5.6  字符串 76

5.6.1  字符串的聲明 77

5.6.2  字符串的初始化 77

5.6.3  字符串的常用操作 78

5.7  StringBuilder類 87

5.7.1  設置StringBuilder對象的容量 88

5.7.2  修改StringBuilder字符串 88

5.8  String和StringBuilder的區別 89

5.9  小結 90

5.10  練習 90

第6章  函數 93

6.1  函數概述 93

6.2  定義和使用函數 93

6.3  返回值 95

6.4  參數 96

6.4.1  值參數 97

6.4.2  ref參數 97

6.4.3  out參數 97

6.4.4  params參數 97

6.4.5  可選參數 98

6.4.6  命名參數 98

6.5  函數重載和遞歸 98

6.5.1  函數重載 98

6.5.2  函數的遞歸 98

6.6  常用函數 101

6.6.1  數學函數 101

6.6.2  日期時間函數 101

6.7  案例7:生成隨機驗證碼 104

6.8  小結 105

6.9  練習 105

面向對象基礎篇

第7章  面向對象思想編程基礎 109

7.1  面向對象思想概述 109

7.2  對象和類概述 110

7.2.1  對象 110

7.2.2  類 110

7.2.3  類與對象的關系 110

7.2.4  字段、屬性和方法 111

7.2.5  對象的生命周期 111

7.3  定義類 112

7.4  定義類成員 112

7.4.1  靜態成員 113

7.4.2  實例成員 113

7.4.3  類成員的訪問權限 113

7.4.4  定義字段 114

7.4.5  定義方法 114

7.4.6  定義屬性 115

7.4.7  定義索引器 117

7.5  對象的創建、使用及銷毀 118

7.5.1  構造函數 119

7.5.2  析構函數 121

7.5.3  對象的創建和初始化 122

7.5.4  訪問對象的屬性和方法 124

7.5.5  對象的銷毀 124

7.6  this關鍵字 124

7.7  案例8:以面向對象的思想生成撲克牌 125

7.8  小結 129

7.9  練習 129

第8章  繼承、多態、委托與事件 131

8.1  繼承 131

8.1.1  繼承的實現 132

8.1.2  繼承中的對象構造與析構 132

8.1.3  System.Object類 133

8.1.4  裝箱與拆箱 134

8.1.5  派生類訪問基類成員 135

8.2  密封方法和密封類 137

8.3  多態 137

8.3.1  方法重寫 138

8.3.2  抽象方法和抽象類 139

8.3.3  接口 140

8.3.4  案例9:模擬銀行存取系統案例 141

8.3.5  接口的顯式實現 144

8.3.6  ICloneable接口、淺拷貝和深拷貝 144

8.3.7  實現類、抽象類與接口的繼承問題 146

8.4  委托 147

8.4.1  委托的定義 147

8.4.2  委托的實例化 148

8.4.3  引用匿名方法的委托 148

8.4.4  多播委托 149

8.4.5  委托中的協變與逆變 150

8.4.6  .NET Framework中預定義的委托 150

8.5  事件 152

8.6  小結 154

8.7  練習 154

第9章  異常 155

9.1  異常概述 155

9.2  try…catch…finally 155

9.3  異常處理的流程 156

9.4  C#中的異常類 156

9.5  自定義異常類 157

9.6  小結 157

9.7  練習 157

面向對象進階篇

第10章  泛型 161

10.1  概述 161

10.2  泛型的概念 162

10.3  泛型類 162

10.3.1  泛型類的聲明與使用 162

10.3.2  可空類型 163

10.3.3  Null合並運算符 164

10.3.4  Null檢查運算符 165

10.4  *泛型方法 165

10.5  *泛型接口 166

10.6  *泛型委托 167

10.7  *泛型約束 167

10.8  *泛型與繼承 168

10.9  案例10:泛型矩陣 169

10.10  小結 174

10.11  練習 174

第11章  集合 175

11.1  集合概述 175

11.2  常見的集合類型 177

11.2.1  非泛型集合ArrayList 177

11.2.2  自定義強類型集合 179

11.2.3  泛型集合List<T> 179

11.2.4  泛型集合HashSet<T> 181

11.2.5  鍵值對集合哈希表 182

11.2.6  泛型鍵值對集合Dictionary<TKey, TValue> 184

11.2.7  案例11:單詞出現次數統計 184

11.3  *迭代器 186

11.4  *比較 188

11.4.1  值比較 188

11.4.2  運算符重載 189

11.4.3  類型比較 190

11.4.4  IComparable和IComparer接口 192

11.5  類型轉換 193

11.5.1  重載轉換運算符 193

11.5.2  as運算符 194

11.6  小結 194

11.7  練習 195

第12章  *高級C#技術 196

12.1  類型推理 196

12.2  動態查找 197

12.3  Tuple和ValueTuple 198

12.3.1  Tuple 198

12.3.2  ValueTuple 200

12.4  擴展方法 202

12.5  僅限init的資源庫 203

12.6  記錄類型record 204

12.7  小結 205

12.8  練習 205

數據操作篇

第13章  LINQ技術 209

13.1  LINQ概述 209

13.2  匿名類型 210

13.3  查詢表達式語法和查詢方法語法 211

13.3.1  查詢表達式語法 211

13.3.2  查詢方法語法 217

13.4  延遲執行 230

13.5  案例12:商品信息分頁展示 231

13.6  小結 235

13.7  練習 235

第14章  文件、流和序列化 237

14.1  文件 237

14.1.1  文件概述 237

14.1.2  System.IO命名空間 237

14.2  路徑 238

14.2.1  Path類 238

14.2.2  絕對路徑和相對路徑 239

14.2.3  System.Environment類 239

14.3  DriveInfo類 240

14.4  文件和目錄相關類 241

14.4.1  File類和Directory類 241

14.4.2  FileInfo類和DirectoryInfo類 247

14.5  流及流的操作 248

14.5.1  Stream基類 248

14.5.2  流的讀取器與寫入器 250

14.5.3  FileStream 255

14.5.4  MemoryStream 259

14.5.5  BufferedStream 260

14.6  *序列化與反序列化 261

14.6.1  序列化與反序列化概述 261

14.6.2  3種序列化技術及序列化規則 262

14.7  案例13:網絡爬蟲 264

14.8  小結 266

14.9  練習 266

第15章  數據訪問技術 267

15.1  數據庫概述 267

15.2  結構化查詢語言 267

15.3  ADO.NET概述 268

15.4  Connection對象 270

15.4.1  Connection對象概述 270

15.4.2  連接字符串 271

15.5  Command對象 272

15.5.1  創建Command對象 273

15.5.2  執行數據庫操作 273

15.6  DataReader對象 276

15.6.1  DataReader對象概述 276

15.6.2  使用DataReader對象讀取查詢結果 277

15.7  ADO.NET的數據訪問模型 278

15.7.1  連接模式 278

15.7.2  斷開連接模式 278

15.7.3  DataSet對象 279

15.7.4  DataAdapter對象 280

15.8  事務處理 283

15.9  案例14:商品銷售統計 284

15.10  小結 289

15.11  練習 289

表現層技術篇

第16章  桌面編程WPF技術 293

16.1  WPF程序開發入門 293

16.1.1  WPF概述 293

16.1.2  XAML基礎 294

16.1.3  依賴屬性和附加屬性 299

16.1.4  XAML中的事件 300

16.1.5  WPF程序的生命周期 301

16.2  佈局和控件 304

16.2.1  控件模型 304

16.2.2  佈局控件 307

16.2.3  通用界面控件 312

16.2.4  綜合示例——基本控件的用法 317

16.2.5  用戶控件 319

16.3  資源和樣式 321

16.3.1  畫刷 321

16.3.2  圖形 323

16.3.3  資源 326

16.3.4  樣式 329

16.3.5  動畫 331

16.3.6  三維圖形 331

16.4  數據綁定 332

16.4.1  認識數據綁定 332

16.4.2  創建數據綁定 334

16.4.3  數據轉換 336

16.4.4  利用DataContext來作為共享數據源 337

16.4.5  數據模板——DataTemplate 337

16.5  命令 338

16.5.1  命令模型 338

16.5.2  自定義命令 340

16.6  案例15:天氣預報 341

16.7  小結 344

16.8  練習 345

綜合案例篇

第17章  綜合案例——超市收銀系統 349

17.1  需求分析 349

17.2  總體設計 349

17.2.1  系統目標 349

17.2.2  構建開發環境 349

17.2.3  系統功能結構 350

17.2.4  主要業務流程圖 350

17.3  數據庫設計 352

17.3.1  概念結構設計 352

17.3.2  數據庫表結構 353

17.4  項目開發架構 356

17.4.1  三層架構 356

17.4.2  MVVM框架 357

17.5  類設計 358

17.5.1  業務實體類設計 358

17.5.2  數據訪問層類設計 360

17.5.3  業務邏輯層類設計 363

17.5.4  表示層View類設計 363

17.5.5  表示層ViewModel類設計 364

17.6  系統主要模塊開發與實現 365

17.6.1  登錄模塊 365

17.6.2  導航模塊 368

17.6.3  收銀模塊 369

17.6.4  貨品管理模塊 377

17.6.5  銷售統計模塊 380

17.6.6  打折管理模塊 384

17.6.7  人員管理模塊 388

17.7  小結 391

參考文獻 392

VI

VII