本書(shū)以Visual Studio為平臺(tái),系統(tǒng)地介紹了C# 程序設(shè)計(jì)及其Windows應(yīng)用開(kāi)發(fā)。全書(shū)由4部分組成。第1部分“C#實(shí)用教程”介紹Visual C#開(kāi)發(fā)環(huán)境,C#基礎(chǔ),C#面向?qū)ο缶幊,Windows應(yīng)用程序開(kāi)發(fā)基礎(chǔ),C#高級(jí)特性,C#線程技術(shù),C#圖形、圖像編程,文件操作,數(shù)據(jù)庫(kù)應(yīng)用基礎(chǔ),類與DLL開(kāi)發(fā)等;第2部分“C#習(xí)題”包括選擇題、簡(jiǎn)答題、填空題、程序分析題、編程題等;第3部分“C#實(shí)訓(xùn)”是各章的典型實(shí)例訓(xùn)練,讀者先跟著做,然后自己練習(xí);第4部分“C#綜合應(yīng)用實(shí)訓(xùn)”由“實(shí)習(xí)1 C#桌面應(yīng)用開(kāi)發(fā):學(xué)生成績(jī)管理系統(tǒng)”和“實(shí)習(xí)2 WebService(基于C#網(wǎng)絡(luò)文檔)—課程均分和人數(shù)統(tǒng)計(jì)”組成。本書(shū)配有教學(xué)課件、實(shí)例和綜合應(yīng)用實(shí)訓(xùn)源文件及數(shù)據(jù)庫(kù)文件,以方便教師教學(xué)和學(xué)生模仿練習(xí),讀者可在華信教育資源網(wǎng)(http://www.hxedu.com.cn)免費(fèi)注冊(cè)下載。本書(shū)既可作為大學(xué)本科、高職高專相關(guān)專業(yè)C# 課程教材,又可供廣大C# 開(kāi)發(fā)用戶學(xué)習(xí)參考。
鄭阿奇,南京師范大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,副教授,江蘇省計(jì)算機(jī)學(xué)會(huì)高級(jí)會(huì)員。曾獲江蘇省教學(xué)二等獎(jiǎng)成果獎(jiǎng)2項(xiàng),全國(guó)高校出版社暢銷圖書(shū)二等獎(jiǎng)、江蘇省科技進(jìn)步四等獎(jiǎng)、江蘇省暢銷圖書(shū)編輯二等獎(jiǎng)、江蘇省優(yōu)秀軟件獎(jiǎng)、教育部?jī)?yōu)秀教程二等獎(jiǎng)等。出版圖書(shū)多部。
第1部分 C#實(shí)用教程
第1章 Visual C#開(kāi)發(fā)環(huán)境 1
1.1 Visual C#及其開(kāi)發(fā)環(huán)境 1
1.1.1 .NET Framework和Visual C# 1
1.1.2 Visual Studio項(xiàng)目管理 3
1.1.3 Visual Studio IDE界面元素 4
1.2 最簡(jiǎn)單的C#程序 12
1.2.1 C#項(xiàng)目的創(chuàng)建與分類 12
1.2.2 第一個(gè)控制臺(tái)應(yīng)用程序 12
1.2.3 第一個(gè)Windows窗體程序 14
第2章 C#基礎(chǔ) 16
2.1 數(shù)據(jù)類型 16
2.1.1 值類型 16
2.1.2 引用類型 17
2.1.3 值類型與引用類型的關(guān)系 18
2.2 常量與變量 20
2.2.1 常量 20
2.2.2 變量 22
2.2.3 使用舉例 22
2.3 運(yùn)算符與表達(dá)式 23
2.3.1 算術(shù)運(yùn)算符 23
2.3.2 關(guān)系運(yùn)算符 24
2.3.3 邏輯運(yùn)算符 25
2.3.4 位運(yùn)算符 26
2.3.5 賦值運(yùn)算符 28
2.3.6 條件運(yùn)算符 28
2.3.7 運(yùn)算符的優(yōu)先級(jí)與結(jié)合性 29
2.3.8 表達(dá)式中的類型轉(zhuǎn)換 29
2.4 C#語(yǔ)句的結(jié)構(gòu) 30
2.4.1 三種基本結(jié)構(gòu) 30
2.4.2 分支語(yǔ)句 31
2.4.3 循環(huán)語(yǔ)句 34
2.4.4 跳轉(zhuǎn)語(yǔ)句 36
2.5 數(shù)組 40
2.5.1 一維數(shù)組 41
2.5.2 多維數(shù)組 42
2.5.3 不規(guī)則數(shù)組 44
2.5.4 數(shù)組的遍歷 46
2.5.5 數(shù)組應(yīng)用舉例 47
2.6 類 49
2.6.1 類的聲明 49
2.6.2 類的成員 50
2.6.3 構(gòu)造函數(shù) 52
2.6.4 析構(gòu)函數(shù) 54
2.7 方法 55
2.7.1 方法的聲明 55
2.7.2 方法的參數(shù) 57
2.7.3 靜態(tài)方法與實(shí)例方法 63
2.8 接口 65
2.8.1 接口的概念 65
2.8.2 接口的實(shí)現(xiàn) 66
第3章 C#面向?qū)ο缶幊?69
3.1 什么是面向?qū)ο缶幊?69
3.1.1 面向?qū)ο缶幊痰幕靖拍?69
3.1.2 面向?qū)ο缶幊痰奶攸c(diǎn) 70
3.2 類的封裝與繼承 72
3.2.1 屬性封裝 72
3.2.2 類的繼承 75
3.2.3 派生類的構(gòu)造函數(shù) 79
3.3 多態(tài)的實(shí)現(xiàn) 81
3.3.1 方法重載 81
3.3.2 運(yùn)算符重載 82
3.3.3 虛方法覆蓋 84
3.3.4 抽象類與抽象方法 88
3.4 C#系統(tǒng)的類型轉(zhuǎn)換 90
3.4.1 復(fù)合數(shù)據(jù)類型 90
3.4.2 數(shù)值轉(zhuǎn)換 94
3.4.3 枚舉轉(zhuǎn)換 96
3.4.4 引用轉(zhuǎn)換 98
3.4.5 使用Convert轉(zhuǎn)換 99
3.5 編程常用算法 100
3.5.1 C#對(duì)排序查找的支持 100
3.5.2 最常用的三種排序算法 102
3.5.3 迭代與遞歸算法 105
3.6 異常 107
3.6.1 異常與異常類 108
3.6.2 異常處理 108
3.7 綜合應(yīng)用實(shí)例 113
第4章 Windows應(yīng)用程序開(kāi)發(fā)基礎(chǔ) 119
4.1 開(kāi)發(fā)步驟演示 119
4.1.1 建立項(xiàng)目 119
4.1.2 設(shè)計(jì)界面 120
4.1.3 設(shè)計(jì)屬性 120
4.1.4 設(shè)計(jì)代碼 120
4.1.5 運(yùn)行調(diào)試 120
4.2 窗體 121
4.2.1 窗體的外觀樣式 121
4.2.2 窗體可見(jiàn)性控制 122
4.2.3 窗體的定位 124
4.3 常用控件 126
4.3.1 認(rèn)識(shí)控件大家族 126
4.3.2 標(biāo)簽控件 128
4.3.3 按鈕與文本框 130
4.3.4 圖片框 132
4.3.5 選擇控件及分組 134
4.3.6 列表類控件 136
4.3.7 狀態(tài)顯示控件 139
4.4 對(duì)話框 141
4.4.1 消息框 141
4.4.2 模式對(duì)話框 142
4.4.3 通用對(duì)話框 142
4.4.4 應(yīng)用舉例 146
4.5 文檔 147
4.5.1 菜單設(shè)計(jì) 147
4.5.2 單文檔界面(SDI) 149
4.5.3 多文檔界面(MDI) 152
4.5.4 文檔的打印 156
第5章 C#高級(jí)特性 159
5.1 集合與索引器 159
5.1.1 自定義集合 159
5.1.2 集合類 161
5.1.3 索引器 162
5.2 委托與事件 164
5.2.1 初識(shí)委托 164
5.2.2 為什么要使用委托 166
5.2.3 多播委托 171
5.2.4 事件 173
5.3 預(yù)處理命令 175
5.3.1 符號(hào)定義與條件編譯指令 175
5.3.2 警告錯(cuò)誤指令 177
5.3.3 代碼塊標(biāo)識(shí)指令 177
5.4 組件與程序集 177
5.4.1 組件 177
5.4.2 程序集 178
5.5 泛型 183
第6章 C#線程技術(shù) 186
6.1 引入線程的動(dòng)機(jī) 186
6.1.1 進(jìn)程的主線程 186
6.1.2 主線程的局限性 187
6.1.3 多線程的編程思路 187
6.2 線程的創(chuàng)建及狀態(tài)控制 188
6.2.1 Thread類 188
6.2.2 線程的創(chuàng)建、啟動(dòng)和終止 190
6.2.3 線程的掛起與恢復(fù) 193
6.2.4 線程的狀態(tài)和優(yōu)先級(jí) 195
6.3 線程同步和通信 197
6.3.1 lock關(guān)鍵字 197
6.3.2 線程監(jiān)視器 199
6.3.3 線程間的通信 203
6.3.4 子線程訪問(wèn)主線程的控件 205
6.4 線程的管理和維護(hù) 207
6.4.1 線程池 207
6.4.2 定時(shí)器 207
6.4.3 同步基元Mutex類 208
6.5 線程的應(yīng)用 209
6.5.1 實(shí)時(shí)GUI 209
6.5.2 并發(fā)任務(wù) 210
第7章 C#圖形、圖像編程 213
7.1 圖形設(shè)計(jì)基礎(chǔ) 213
7.1.1 GDI+簡(jiǎn)介 213
7.1.2 繪圖坐標(biāo)系 213
7.1.3 屏幕像素 214
7.2 畫(huà)圖工具及其使用 214
7.2.1 筆 214
7.2.2 畫(huà)刷類 216
7.2.3 Graphics類 217
7.3 繪制圖形 219
7.3.1 線條定位與選型 219
7.3.2 畫(huà)空心形狀 222
7.3.3 圖形的填充 226
7.4 字體和圖像處理 229
7.4.1 定義字體 229
7.4.2 文本輸出 229
7.4.3 繪制圖像 230
7.4.4 圖像刷新 230
7.5 綜合應(yīng)用實(shí)例 231
第8章 文件操作 237
8.1 .NET的文件I/O模型 237
8.2 管理文件夾和目錄 238
8.2.1 操作文件夾 238
8.2.2 處理路徑字符串 240
8.2.3 讀取驅(qū)動(dòng)器信息 241
8.3 文件的基本操作 243
8.3.1 文件的種類 243
8.3.2 創(chuàng)建文件 243
8.3.3 讀/寫(xiě)文件 246
8.4 綜合應(yīng)用實(shí)例 251
第9章 數(shù)據(jù)庫(kù)應(yīng)用基礎(chǔ) 258
9.1 數(shù)據(jù)庫(kù)基礎(chǔ) 258
9.1.1 關(guān)系模型 258
9.1.2 SQL(結(jié)構(gòu)化查詢語(yǔ)言) 260
9.1.3 創(chuàng)建SQL Server數(shù)據(jù)庫(kù) 261
9.2 ADO.NET原理 266
9.2.1 ADO.NET概述 266
9.2.2 ADO.NET對(duì)象模型 266
9.2.3 數(shù)據(jù)集與離線訪問(wèn) 267
9.3 創(chuàng)建和測(cè)試連接 269
9.3.1 連接字符串 269
9.3.2 連接對(duì)象 270
9.3.3 連接數(shù)據(jù)庫(kù)測(cè)試 271
9.4 在線操作數(shù)據(jù)庫(kù) 272
9.4.1 SQL命令的封裝 272
9.4.2 信息的即時(shí)呈現(xiàn) 274
9.4.3 數(shù)據(jù)庫(kù)在線訪問(wèn)實(shí)例 274
9.5 數(shù)據(jù)庫(kù)的離線訪問(wèn) 277
9.5.1 數(shù)據(jù)適配 277
9.5.2 數(shù)據(jù)集機(jī)制 278
9.5.3 數(shù)據(jù)庫(kù)離線訪問(wèn)實(shí)例 281
9.6 訪問(wèn)MySQL數(shù)據(jù)庫(kù) 284
9.6.1 C#引用MySQL數(shù)據(jù)庫(kù) 284
9.6.2 DataGridView設(shè)置 286
9.6.3 MySQL數(shù)據(jù)庫(kù)訪問(wèn)實(shí)例 287
第10章 類與DLL開(kāi)發(fā) 290
10.1 類對(duì)象操作功能 290
10.1.1 對(duì)象類設(shè)計(jì) 290
10.1.2 界面主程序設(shè)計(jì) 294
10.1.3 測(cè)試運(yùn)行程序 297
10.2 DLL的開(kāi)發(fā)與應(yīng)用 298
10.2.1 DLL的優(yōu)點(diǎn) 298
10.2.2 開(kāi)發(fā)數(shù)據(jù)庫(kù)表操作DLL 299
10.2.3 開(kāi)發(fā)加載數(shù)據(jù)的DLL 302
10.2.4 程序界面設(shè)計(jì) 303
10.2.5 主程序使用DLL 305
第2部分 C#習(xí)題
第1章 Visual C#開(kāi)發(fā)環(huán)境 307
第2章 C#基礎(chǔ) 307
第3章 C#面向?qū)ο缶幊?313
第4章 Windows應(yīng)用程序開(kāi)發(fā)基礎(chǔ) 316
第5章 C#高級(jí)特性 318
第6章 C#線程技術(shù) 318
第7章 C#圖形、圖像編程 319
第8章 文件操作 319
第9章 數(shù)據(jù)庫(kù)應(yīng)用基礎(chǔ) 320
第10章 類與DLL開(kāi)發(fā) 322
第3部分 C#實(shí)訓(xùn)
實(shí)訓(xùn)1 Visual C#開(kāi)發(fā)環(huán)境 323
實(shí)訓(xùn)2 C#基礎(chǔ) 324
實(shí)訓(xùn)3 C#面向?qū)ο缶幊?330
實(shí)訓(xùn)4 Windows應(yīng)用程序開(kāi)發(fā)基礎(chǔ) 338
實(shí)訓(xùn)5 C#高級(jí)特性 343
實(shí)訓(xùn)6 C#線程技術(shù) 345
實(shí)訓(xùn)7 C#圖形、圖像編程 348
實(shí)訓(xùn)8 文件操作 351
實(shí)訓(xùn)9 數(shù)據(jù)庫(kù)應(yīng)用基礎(chǔ) 352
實(shí)訓(xùn)10 類與DLL開(kāi)發(fā) 352
第4部分 C#綜合應(yīng)用實(shí)習(xí)
實(shí)習(xí)1 C#桌面應(yīng)用開(kāi)發(fā):學(xué)生成績(jī)管理系統(tǒng) 354
P1.1 主界面及功能導(dǎo)航 354
P1.2 學(xué)生信息查詢 357
P1.3 學(xué)生信息修改 360
P1.4 學(xué)生成績(jī)錄入 364
P1.5 自己動(dòng)手?jǐn)U展系統(tǒng)功能 371
實(shí)習(xí)2 WebService(基于C#網(wǎng)絡(luò)文檔) ——課程均分和人數(shù)統(tǒng)計(jì) 372