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