目 錄
第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.4.3
運算符優先級 49
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.1
break語句 61
3.4.2
continue語句 62
3.4.3
goto語句 63
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
打開文件對話框(OpenFile
Dialog) 175
8.4.2
保存文件對話框(SaveFile
Dialog) 177
8.4.3 選擇目錄對話框(FolderBrowser
Dialog) 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
13.3.6
數據適配器:DataAdapter
對像 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.3
數據庫設計 404
19.4
開發前準備工作 405
19.5
繫統代碼編寫 408
19.5.1
圖書類(class Book) 408
19.5.2
圖書館類(class Library) 409
19.5.3
借書繫統類(class Book
System) 410
19.5.4
Main類(class ManClass) 413
19.6
繫統運行 414
19.7
項目總結 414
第20章 流行繫統應用——開發社區
互助繫統 415
20.1
需求分析 416
20.2
功能分析 416
20.3
數據庫設計 418
20.4
開發前準備工作 419
20.5
繫統代碼編寫 422
20.5.1
需求類(class Need) 422
20.5.2
平臺類(class Platform) 423
20.5.3
繫統類(class Community
Share) 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.2
企業人事管理繫統 492
22.9.3
人事檔案管理 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