內容簡介
《C#程式開發案例課堂》以零基礎講解為宗旨,用實例引導讀者深入學習,採取“基礎入門→核心技術→高級套用→項目開發實戰”的講解模式,深入淺出地講解C#的各項技術及實戰技能。
《C#程式開發案例課堂》第1篇“基礎入門”主要內容包括揭開C#神秘面紗、C#基本語法、C#程式結構、面向對象入門、面向對象的重要特徵、集合與泛型;第2篇“核心技術”主要內容包括常用窗體控制項、高級窗體控制項、C#檔案流、多執行緒操作、語言集成查詢LINQ、異常和調試;第3篇“高級套用”主要內容包括ADO.NET運算元據庫、GDI+技術、開發網路應用程式、在C#中操作註冊表、水晶報表、應用程式打包;第4篇“項目開發實戰”主要內容包括開發圖書管理系統、開發社區互助系統、開發電影票預訂系統和開發人事管理系統。
《C#程式開發案例課堂》適合任何想學習C#程式語言的人員,無論您是否從事計算機相關行業,無論您是否接觸過C#語言,通過學習均可快速掌握C#在項目開發中的知識和技巧。
圖書目錄
第1篇 基礎入門
第1章 揭開C#的神秘面紗——我的
第一個C#程式 3
1.1 C#簡介 4
1.2 NET框架 5
1.3 Visual C#的開發環境 5
1.3.1 安裝Visual Studio 2017的條件 5
1.3.2 安裝Visual Studio 2017 6
1.4 熟悉開發環境 7
1.4.1 創建項目 8
1.4.2 選單欄 9
1.4.3 工具列 11
1.4.4 工具箱面板 11
1.4.5 屬性面板 12
1.4.6 錯誤列表 12
1.4.7 輸出面板 13
1.5 創建第一個簡單的Visual C#應用程式 13
1.6 如何學好C# 14
1.7 大神解惑 15
1.8 跟我學上機 16
第2章 零基礎開始學習 ——C#基本
語法 17
2.1 C#的程式結構 18
2.1.1 注釋 18
2.1.2 命名空間 18
2.1.3 類 20
2.1.4 Main方法 20
2.1.5 標識符與關鍵字 21
2.1.6 C#語句 22
2.2 程式的編寫規範 22
2.2.1 代碼書寫規則 22
2.2.2 命名規範 22
2.3 數據類型 23
2.3.1 變數 23
2.3.2 常量 24
2.3.3 值類型 24
2.3.4 引用類型 32
2.3.5 值類型和引用類型的區別 34
2.3.6 類型轉換 36
2.4 運算符和表達式 40
2.4.1 表達式 41
2.4.2 運算符 41
2.5 大神解惑 50
2.6 跟我學上機 50
第3章 控制程式運行方向 ——C#程式
結構 51
3.1 順序結構 52
3.2 選擇結構 52
3.2.1 if語句 52
3.2.2 if…else語句 53
3.2.3 選擇嵌套語句 54
3.2.4 switch分支結構語句 55
3.3 循環結構 57
3.3.1 while語句 57
3.3.2 do…while語句 58
3.3.3 for語句 59
3.3.4 循環語句的嵌套 60
3.4 其他語句 61
3.4.2 continue語句 62
3.4.4 return語句 63
3.5 大神解惑 64
3.6 跟我學上機 65
第4章 主流軟體開發方法——面向對象
入門 67
4.1 面向對象編程思想 68
4.1.1 面向對象概述 68
4.1.2 面向對象編程解決問題的方法 68
4.1.3 面向對象編程的特點 69
4.2 C#中的類 70
4.2.1 類的概念 71
4.2.2 類的聲明 71
4.2.3 類的成員:屬性、方法 72
4.2.4 構造函式和析構函式 78
4.3 C#中的對象 81
4.3.1 對象的概念 81
4.3.2 對象與類的關係 81
4.3.3 對象的創建 81
4.4 分部類 82
4.5 結構與類 83
4.5.1 結構的定義和使用 83
4.5.2 結構與類的區別 85
4.6 大神解惑 86
4.7 跟我學上機 86
第5章 深入了解面向對象——面向對象
的重要特徵 87
5.1 類的封裝性 88
5.2 類的繼承性 88
5.2.1 繼承性概述 89
5.2.2 繼承性的規則 90
5.3 類的多態性 91
5.3.1 覆蓋性重寫 91
5.3.2 多態性重寫 92
5.4 接口 95
5.4.1 接口的概念及聲明 95
5.4.2 接口的實現 96
5.4.3 繼承多個接口 97
5.5 抽象類與抽象方法 99
5.5.1 抽象類 99
5.5.2 抽象方法 100
5.5.3 抽象類與接口 101
5.6 委託 101
5.6.1 委託的聲明 102
5.6.2 實例化委託 102
5.6.3 調用委託 102
5.7 事件 103
5.7.1 定義事件 103
5.7.2 訂閱事件 104
5.7.3 觸發事件 104
5.8 大神解惑 105
5.9 跟我學上機 106
第6章 特殊的類——集合與泛型 107
6.1 數組概述 108
6.2 一維數組的聲明和使用 108
6.2.1 一維數組的定義 108
6.2.2 一維數組的使用 110
6.3 二維數組的聲明和使用 111
6.3.1 二維數組的定義 111
6.3.2 二維數組的使用 112
6.4 數組的基本操作 114
6.4.1 遍歷數組 114
6.4.2 數組Array類的常用操作 115
6.5 ArrayList集合 117
6.5.1 ArrayList概述 117
6.5.2 ArrayList的操作 119
6.5.3 Array與ArrayList的區別 122
6.6 HashTable集合 122
6.6.1 HashTable概述 122
6.6.2 HashTable的操作 124
6.7 泛型 125
6.7.1 泛型概述 126
6.7.2 泛型集合 128
6.7.3 泛型接口 130
6.7.4 泛型類 131
6.7.5 泛型方法 134
6.8 大神解惑 135
6.9 跟我學上機 136
第2篇 核心技術
第7章 Windows應用程式開發初步
——常用窗體控制項 139
7.1 Windows窗體簡介 140
7.1.1 WinForm窗體的概念 140
7.1.2 窗體的常用屬性 140
7.1.3 窗體的常用事件 142
7.1.4 添加和刪除窗體 142
7.2 常用Windows窗體控制項 144
7.2.1 控制項的分類和作用 144
7.2.2 添加控制項 144
7.2.3 排列控制項 145
7.2.4 刪除控制項 146
7.3 文本類控制項和訊息框 146
7.3.1 標籤(Label)控制項 146
7.3.2 按鈕(Button)控制項 147
7.3.3 文本框(TextBox)控制項 149
7.3.4 訊息框(MessageBox) 151
7.4 Windows應用程式的結構和開發
步驟 154
7.4.1 Windows應用程式的結構 154
7.4.2 Windows應用程式開發步驟 155
7.5 大 神 解 惑 155
7.6 跟我學上機 156
第8章 Windows應用程式開發進階——
高級窗體控制項 157
8.1 選單與工具列控制項 158
8.1.1 選單控制項 158
8.1.2 工具列(toolStrip)控制項 160
8.2 列表視圖和樹視圖控制項 161
8.2.1 列表視圖控制項(ListView) 161
8.2.2 樹視圖控制項(TreeView) 167
8.3 選項卡控制項(TabControl) 172
8.4 通用對話框控制項 175
8.4.1 打開檔案對話框(OpenFileDialog) 175
8.4.2 保存檔案對話框(SaveFileDialog) 177
8.4.3 選擇對話框(FolderBrowserDialog) 179
8.5 多文檔編程(MDI窗體) 181
8.6 大神解惑 184
8.7 跟我學上機 184
第9章 檔案操作的利器——C#檔案流 185
9.1 檔案 186
9.1.1 System.IO命名空間 186
9.1.2 檔案類File的使用 188
9.1.3 資料夾Directory類的使用 189
9.1.4 FileInfo類和DirectoryInfo類的
使用 191
9.1.5 檔案與資料夾的相關操作 193
9.2 數據流 198
9.2.1 流操作介紹 198
9.2.2 檔案流類 199
9.3 文本檔案的讀寫操作 202
9.3.1 StreamReader類 202
9.3.2 StreamWriter類 203
9.4 讀寫二進制檔案 205
9.4.1 BinaryReader類 205
9.4.2 BinaryWriter類 206
9.5 讀寫記憶體流 208
9.6 大神解惑 209
9.7 跟我學上機 210
第10章 任務同時進行——多執行緒
操作 211
10.1 進程 212
10.1.1 進程簡介 212
10.1.2 進程的基本操作 212
10.2 執行緒 213
10.2.1 執行緒簡介 213
10.2.2 單執行緒與多執行緒 214
10.2.3 執行緒的基本操作 215
10.2.4 創建執行緒 215
10.2.5 執行緒的控制 216
10.2.6 執行緒優先權 219
10.3 多執行緒同步 221
10.3.1 多執行緒同步概述 221
10.3.2 用Lock語句實現互斥執行緒 222
10.3.3 用Monitor類實現互斥執行緒 223
10.3.4 用Mutex類實現互斥執行緒 224
10.4 執行緒池 226
10.5 大神解惑 228
10.6 跟我學上機 228
第11章 數據查詢新模型——語言集成
查詢LINQ 229
11.1 LINQ簡介 230
11.1.1 隱式類型化變數(var) 230
11.1.2 查詢操作簡介 230
11.1.3 數據源 231
11.1.4 查詢 231
11.1.5 執行查詢 232
11.2 LINQ和泛型類型 233
11.2.1 LINQ查詢中的IEnumerable
變數 233
11.2.2 通過編譯器處理泛型類型
聲明 233
11.3 基本LINQ查詢操作 234
11.3.1 獲取數據源 234
11.3.2 篩選 234
11.3.3 排序 235
11.3.4 分組 236
11.3.5 聯接 238
11.4 大 神 解 惑 241
11.5 跟我學上機 242
第12章 解決問題的法寶 ——異常和
調試 243
12.1 異常處理 244
12.1.1 異常處理的概念 244
12.1.2 典型的try…catch異常處理
語句 245
12.1.3 使用finally塊 246
12.1.4 使用throw關鍵字顯式拋出
異常 247
12.2 程式調試 249
12.2.1 程式錯誤分類 249
12.2.2 基本調試概念——斷點 250
12.2.3 程式調試信息 252
12.3 大神解惑 255
12.4 跟我學上機 256
第3篇 高級套用
第13章 C#的資料庫編程 ——ADO.NET
運算元據庫 259
13.1 資料庫基本知識 260
13.1.1 資料庫基本概念 260
13.1.2 資料庫系統的特點 260
13.1.3 數據模型簡介 261
13.1.4 SQL語言簡介 261
13.2 資料庫相關操作 262
13.2.1 資料庫的創建 262
13.2.2 刪除資料庫 263
13.2.3 數據表相關操作 264
13.2.4 常用SQL語句的套用 265
13.3 ADO.NET 簡介和資料庫的
訪問 268
13.3.1 ADO.NET特點 268
13.3.2 ADO.NET組件及結構 268
13.3.3 連線資料庫 270
13.3.4 執行SQL語句:Command
對象 272
13.3.5 讀取數據:DataReader對象 277
對象 280
13.4 數據集(DataSet對象)簡介 286
13.4.1 DataSet對象簡介 286
13.4.2 DataSet對象中的常用屬性與
方法 287
13.4.3 使用DataSet對象的步驟 287
13.5 使用DataGridView控制項顯示和操作
數據 288
13.5.1 DataGridView控制項列 289
13.5.2 行高與列寬的設定 291
13.5.3 DataGridView選中單元格時的
樣式 291
13.5.4 編輯DataGridView與綁定
屬性 292
13.5.5 數據集(DataSet)與DataGridView
的結合使用 293
13.6 大神解惑 295
13.7 跟我學上機 298
第14章 圖形界面設計——GDI+技術 299
14.1 GDI+介紹 300
14.2 Graphics類 301
14.3 Pen類和Brush類的使用 301
14.3.1 創建Pen類對象 302
14.3.2 Brush類的使用 303
14.4 基本繪圖 310
14.4.1 繪製直線和矩形 311
14.4.2 繪製橢圓、圓弧和扇形 314
14.4.3 繪製多邊形 319
14.5 使用GDI+繪製柱形圖、餅形圖、
折線圖 320
14.5.1 使用GDI+繪製柱形圖 321
14.5.2 使用GDI+繪製餅形圖 324
14.5.3 使用GDI+繪製折線圖 327
14.6 大神解惑 329
14.7 跟我學上機 330
第15章 融入網際網路時代 ——開發網路
應用程式 331
15.1 網路編程基礎 332
15.1.1 通信協定 332
15.1.2 標識資源 333
15.1.3 套接字編程 333
15.2 網路編程類 334
15.2.1 Dns類 334
15.2.2 IPAddress類 336
15.2.3 IPEndPoint類 338
15.2.4 WebClient類 340
15.3 Socket網路編程相關類 342
15.3.1 Socket類 342
15.3.2 TcpListener類和
TcpClient類 343
15.3.3 UdpClient類 352
15.4 System.Net.Mail簡介 356
15.4.1 MailMessage類 356
15.4.2 MailAddress類 357
15.4.3 Attachment類 358
15.4.4 SmtpClient類 360
15.5 大神解惑 362
15.6 跟我學上機 362
第16章 註冊表技術——在C#中操作
註冊表 363
16.1 註冊表簡介 364
16.1.1 Registry類 364
16.1.2 RegistryKey類 365
16.2 註冊表的相關操作 366
16.2.1 註冊表信息的讀取 366
16.2.2 註冊表信息的創建與修改 368
16.2.3 註冊表信息的刪除 370
16.3 註冊表的套用 373
16.4 大神解惑 375
16.5 跟我學上機 376
第17章 互動式報表——水晶報表 377
17.1 水晶報表外掛程式的下載與安裝 378
17.2 水晶報表外掛程式的使用 379
17.3 水晶報表的基本操作 382
17.3.1 報表數據分組 382
17.3.2 報表數據排序 383
17.3.3 報表數據篩選 384
17.3.4 圖表的使用 388
17.4 大神解惑 389
17.5 跟我學上機 390
第18章 程式開發收尾工作——套用
程式打包 391
18.1 Visual Studio Installer簡介 392
18.2 Visual Studio Installer工具的
下載安裝 392
18.3 Visual Studio Installer工具的
使用 394
18.3.1 創建Windows安裝項目 394
18.3.2 輸出檔案的添加 395
18.3.3 內容檔案的添加 396
18.3.4 捷徑的創建 396
18.3.5 註冊表項的添加 397
18.3.6 生成Windows安裝程式 398
18.4 大神解惑 398
18.5 跟我學上機 398
第4篇 項目開發實戰
第19章 經典系統套用 ——開發圖書
管理系統 401
19.1 需求分析 402
19.2 功能分析 402
19.4 開發前準備工作 405
19.5 系統代碼編寫 408
19.5.1 圖書類(class Book) 408
19.5.2 圖書館類(class Library) 409
19.5.3 借書系統類(class BookSystem) 410
19.5.4 Main類(class ManClass) 413
19.6 系統運行 414
19.7 項目總結 414
第20章 流行系統套用——開發社區
互助系統 415
20.1 需求分析 416
20.2 功能分析 416
20.4 開發前準備工作 419
20.5 系統代碼編寫 422
20.5.1 需求類(class Need) 422
20.5.2 平台類(class Platform) 423
20.5.3 系統類(class CommunityShare) 425
20.5.4 Main類(class MainClass) 428
20.6 系統運行 428
20.7 項目總結 430
第21章 娛樂影視套用——開發電影票
預訂系統 431
21.1 需求分析 432
21.2 功能分析 432
21.3 資料庫設計 433
21.4 開發前準備工作 434
21.5 系統代碼編寫 437
21.5.1 座位類(class Seat) 437
21.5.2 影廳類(class Hall) 438
21.5.3 電影類(class Movie) 440
21.5.4 訂票系統類(class Ticket-System) 441
21.5.5 Main類(class CinemaTicket) 442
21.6 系統運行 445
21.7 項目總結 446
第22章 企業系統套用——開發人事
管理系統 447
22.1 需求分析 448
22.2 系統功能結構 448
22.2.1 構建開發環境 448
22.2.2 系統功能結構 448
22.3 資料庫設計 449
22.3.1 資料庫分析 449
22.3.2 資料庫實體E-R圖 449
22.3.3 資料庫表的設計 452
22.4 開發前準備工作 455
22.5 用戶登錄模組 462
22.5.1 定義資料庫連線方法 462
22.5.2 防止視窗被關閉 465
22.5.3 驗證用戶名和密碼 466
22.6 人事檔案管理模組 468
22.6.1 界面開發 468
22.6.2 代碼開發 468
22.6.3 添加和編輯員工照片 484
22.7 用戶設定模組 485
22.7.1 添加、修改用戶信息 485
22.7.2 刪除用戶基本信息 488
22.7.3 設定用戶許可權 489
22.8 資料庫維護模組 490
22.8.1 資料庫備份功能 491
22.8.2 資料庫還原功能 491
22.9 系統運行 492
22.9.1 登錄 492
22.9.4 人事資料查詢 493
22.9.5 員工信息提醒 493
22.9.6 員工通訊錄 494
22.9.7 日常記事 494
22.9.8 用戶設定 495
22.9.9 基礎信息維護管理 495
22.10 項目總結 496