C#是微軟公司推出的.NET 平臺(tái)中較為主流的程序設(shè)計(jì)語言。本書介紹 C#的相關(guān)概念及應(yīng)用。全書共分為 8 章,主要內(nèi)容包括:C#程序設(shè)計(jì)概述、C#語言基礎(chǔ)、面向?qū)ο蟪绦蛟O(shè)計(jì)、文件讀/寫、開發(fā) Windows 窗體應(yīng)用程序、ADO.NET、程序的調(diào)試及異常處理,以及程序的分層設(shè)計(jì)。全書知識(shí)點(diǎn)講解簡(jiǎn)潔易懂,配合大量的實(shí)例,有助于學(xué)生輕松、愉快地掌握 C#程序設(shè)計(jì)的基本語法、方法及技巧。
本書適合作為高等職業(yè)教育計(jì)算機(jī)類專業(yè)學(xué)生的教材,也可作為初、中級(jí)讀者掌握 C#程序設(shè)計(jì)基礎(chǔ)知識(shí)的自學(xué)用書。
基于Visual C# .NET平臺(tái),突破傳統(tǒng)的程序設(shè)計(jì)語言教材的編寫思想,以案例來引領(lǐng)知識(shí)點(diǎn),由“以語言本身為主線”,改為“以程序設(shè)計(jì)為主線”,以案例來引領(lǐng)理論知識(shí)點(diǎn)。
C#是微軟公司推出的.NET 平臺(tái)中較為主流的一種程序設(shè)計(jì)語言,它是由 C 和 C++衍生而來的面向?qū)ο蟮木幊陶Z言。C#在保持 C++強(qiáng)大功能的同時(shí),整合了 Java 的很多優(yōu)點(diǎn),是一種簡(jiǎn)單、功能強(qiáng)大、安全而靈活的程序設(shè)計(jì)語言,深受程序員的喜愛。使用 C#既能開發(fā)傳統(tǒng)的控制臺(tái)應(yīng)用程序、Windows 應(yīng)用程序和組件程序,又能開發(fā) Web 應(yīng)用程序、XML Web 服務(wù)以及移動(dòng)端應(yīng)用程序。
全書共分 8 章,基本覆蓋了 C#的主要應(yīng)用領(lǐng)域。本書主要內(nèi)容包括:C#程序設(shè)計(jì)概述、C#語言基礎(chǔ)、面向?qū)ο蟪绦蛟O(shè)計(jì)、文件讀/寫、開發(fā) Windows 窗體應(yīng)用程序、ADO.NET、程序的調(diào)試及異常處理,以及程序的分層設(shè)計(jì)。
本書堅(jiān)持能力為重,本著“理論知識(shí)夠用,實(shí)踐操作過硬”的原則,立足用最簡(jiǎn)練的語言講清楚語法知識(shí),并配套大量的實(shí)例及上機(jī)練習(xí),加強(qiáng)學(xué)生的實(shí)踐應(yīng)用能力。與同類教材相比,本書具有以下四個(gè)特點(diǎn):第一,突破傳統(tǒng)的程序設(shè)計(jì)語言教材的編寫思路,以案例來引領(lǐng)知識(shí)點(diǎn),全書引用大量的小案例來講解知識(shí)點(diǎn);第二,以基礎(chǔ)知識(shí)為主,以基本要素為重點(diǎn),合理地規(guī)劃教材內(nèi)容,側(cè)重介紹常用的編程知識(shí),并且注意知識(shí)之間的逐漸遷移;第三,強(qiáng)調(diào)實(shí)踐,每章都附有上機(jī)實(shí)驗(yàn),專門圍繞本章知識(shí)點(diǎn)而設(shè)計(jì),此外,全書還提供兩個(gè)綜合實(shí)驗(yàn),分別覆蓋控制臺(tái)的 C#基礎(chǔ)語法編程以及 Windows編程;第四,每章配有習(xí)題,在鞏固理論知識(shí)的同時(shí),鍛煉動(dòng)手編程能力。
本書由謝修娟、吳道君、鄭小樂任主編,由朱林任副主編。具體分工為:東南大學(xué)成賢學(xué)院謝修娟編寫第 2、3、4、6、7 章,廣東嶺南職業(yè)技術(shù)學(xué)院吳道君編寫第 1、5、8 章,東南大學(xué)成賢學(xué)院朱林和廣州涉外經(jīng)濟(jì)職業(yè)技術(shù)學(xué)院鄭小樂負(fù)責(zé)搜集案例以及部分程序的調(diào)試。南京大學(xué)史九林教授擔(dān)任本書的審稿人,詳細(xì)審閱了本書的編寫大綱和全部書稿,在此表示真摯的謝意;還要感謝南京大學(xué)的徐潔磐教授,在本書的編寫過程中給予了很多寶貴的建議和熱情的幫助。
由于時(shí)間倉(cāng)促,書中難免有不妥之處,敬請(qǐng)專家和讀者批評(píng)指正。
編 者
2016 年 4 月
謝修娟,講師/碩士,東南大學(xué)成賢學(xué)院計(jì)算機(jī)工程系教師,研究方向?yàn)橛?jì)算機(jī)應(yīng)用、數(shù)據(jù)挖掘。主講課程有《C#程序設(shè)計(jì)》、《軟件工程》、《OOA&OOD》、《多媒體技術(shù)》等課程。曾主編/副主編過《C#程序設(shè)計(jì)基礎(chǔ)與實(shí)踐》、《軟件工程課程設(shè)計(jì)教程》、《C語言程序設(shè)計(jì)》等多部教材,先后在計(jì)算機(jī)工程與科學(xué)、現(xiàn)代電子技術(shù)等核心期刊上發(fā)表多篇論文,多次獲得全國(guó)及江蘇省程序設(shè)計(jì)大賽優(yōu)秀指導(dǎo)教師獎(jiǎng),主持及參與過的項(xiàng)目包括江蘇省自然科學(xué)青年基金項(xiàng)目、江蘇省現(xiàn)代教育技術(shù)研究課題等多項(xiàng)。
第 1 章 C#程序設(shè)計(jì)概述 ......................... 1
1.1 認(rèn)識(shí) C# ............................................. 2
1.1.1 C#出現(xiàn)的原因 ............................ 2
1.1.2 C#發(fā)展歷史 ................................ 2
1.1.3 C#的特點(diǎn).................................... 3
1.2 C#與.NET ......................................... 4
1.2.1 .NET 簡(jiǎn)介................................... 4
1.2.2 .NET Framework ......................... 5
1.3 熟悉 C#的集成開發(fā)環(huán)境——
Visual Studio...................................... 8
1.4 一個(gè)具有輸入/輸出功能的
控制臺(tái)應(yīng)用程序 .............................. 12
1.4.1 創(chuàng)建項(xiàng)目程序 ............................12
1.4.2 認(rèn)識(shí)項(xiàng)目結(jié)構(gòu) ............................13
1.4.3 認(rèn)識(shí) C#程序 ..............................14
1.4.4 控制臺(tái)輸入/輸出 .......................15
1.4.5 獲得幫助 ...................................16
本章小結(jié).................................................. 18
習(xí)題 ......................................................... 18
上機(jī)實(shí)驗(yàn).................................................. 19
第 2 章 C#語言基礎(chǔ) .............................. 20
2.1 認(rèn)識(shí) C#中的數(shù)據(jù)類型 .................... 21
2.1.1 C#的數(shù)據(jù)類型 ...........................21
2.1.2 簡(jiǎn)單數(shù)據(jù)類型 ............................21
2.2 常量和變量 ..................................... 23
2.2.1 變量 ..........................................23
2.2.2 常量 ..........................................23
2.2.3 類型轉(zhuǎn)換 ...................................23
2.3 常用運(yùn)算符與表達(dá)式 ...................... 24
2.3.1 算術(shù)運(yùn)算符與算術(shù)表達(dá)式 .........25
2.3.2 賦值運(yùn)算符與賦值表達(dá)式 .........25
2.3.3 關(guān)系運(yùn)算符與關(guān)系表達(dá)式 .........26
2.3.4 邏輯運(yùn)算符與邏輯表達(dá)式 .........26
2.3.5 運(yùn)算符的優(yōu)先級(jí) ........................26
2.4 分支結(jié)構(gòu)編程 ................................. 27
2.4.1 枚舉類型 ...................................27
2.4.2 分支結(jié)構(gòu) ...................................28
2.5 循環(huán)結(jié)構(gòu)編程 ................................. 30
2.5.1 循環(huán)結(jié)構(gòu) ...................................30
2.5.2 循環(huán)結(jié)構(gòu)中的控制語句 .............32
2.6 復(fù)雜數(shù)據(jù)類型編程.......................... 33
2.6.1 數(shù)組 ..........................................33
2.6.2 字符串 .......................................38
2.6.3 集合 ..........................................39
2.6.4 泛型 ..........................................42
本章小結(jié).................................................. 45
習(xí)題 ......................................................... 46
上機(jī)實(shí)驗(yàn).................................................. 48
第 3 章 面向?qū)ο蟪绦蛟O(shè)計(jì) ..................... 50
3.1 面向?qū)ο缶幊痰幕靖拍?.............. 51
3.1.1 面向過程設(shè)計(jì) ............................51
3.1.2 面向?qū)ο笤O(shè)計(jì) ............................51
3.2 類的定義 ......................................... 52
3.2.1 面向?qū)ο蟮幕靖拍?................53
3.2.2 創(chuàng)建類和對(duì)象 ............................54
3.3 類的成員 ......................................... 56
3.3.1 字段 ..........................................57
3.3.2 屬性 ..........................................57
3.3.3 方法 ..........................................58
3.4 繼承與多態(tài) ..................................... 66
2 C#程序設(shè)計(jì)教程
3.4.1 繼承 ..........................................66
3.4.2 多態(tài) ..........................................68
3.5 抽象類與接口 ................................. 70
3.5.1 抽象類 .......................................70
3.5.2 接口 ..........................................71
本章小結(jié).................................................. 74
習(xí)題 ......................................................... 75
上機(jī)實(shí)驗(yàn).................................................. 76
第 4 章 文件讀/寫 ................................. 78
4.1 文件和流......................................... 79
4.1.1 文件 ..........................................79
4.1.2 使用流處理文件 ........................79
4.2 文件存儲(chǔ)管理的相關(guān)類 .................. 80
4.2.1 驅(qū)動(dòng)器管理類 ............................80
4.2.2 目錄管理類 ...............................81
4.2.3 文件管理類 ...............................83
4.2.4 路徑管理類 ...............................85
4.3 讀/寫文件........................................ 85
4.3.1 流的基本操作及與
流相關(guān)的類 ...............................85
4.3.2 FileStream 流 .............................86
4.3.3 讀/寫文本文件...........................88
4.3.4 讀/寫二進(jìn)制文件 .......................91
本章小結(jié).................................................. 93
習(xí)題 ......................................................... 94
上機(jī)實(shí)驗(yàn).................................................. 95
第 5 章 開發(fā) Windows 窗體應(yīng)用程序 ..... 96
5.1 Windows 應(yīng)用程序概述 .................. 97
5.2 認(rèn)識(shí)窗體......................................... 98
5.2.1 創(chuàng)建窗體 ...................................98
5.2.2 窗體屬性 .................................102
5.2.3 常用窗體事件及事件
代碼添加 .................................104
5.2.4 窗體的生命周期 ......................105
5.3 C#調(diào)用 Windows 常用控件........... 106
5.3.1 常見控件及其共有特性 ...........106
5.3.2 C#調(diào)用 Label 控件顯示
靜態(tài)文本 ................................. 110
5.3.3 C#調(diào)用 Button 控件
實(shí)現(xiàn)按鈕 ................................. 112
5.3.4 C#調(diào)用 TextBox 和
MaskedTextBox 控件
輸入文本 ................................. 113
5.3.5 C#調(diào)用 CheckBox 和
RadioButton 控件實(shí)現(xiàn)選中 ...... 114
5.3.6 C#調(diào)用 ListBox 和 ComboBox
控件實(shí)現(xiàn)列表.......................... 117
5.4 C#設(shè)計(jì)菜單、工具欄和
狀態(tài)欄控件.................................... 122
5.4.1 C#設(shè)計(jì)窗體菜單......................122
5.4.2 C#設(shè)計(jì)窗體工具欄 ..................125
5.4.3 C#設(shè)計(jì)窗體狀態(tài)欄 ..................129
5.5 對(duì)話框和多文檔界面設(shè)計(jì) ............ 130
5.5.1 C#調(diào)用 MessageBox 對(duì)話框
控件 ........................................130
5.5.2 C#調(diào)用 OpenFileDialog
對(duì)話框控件 .............................132
5.5.3 C#調(diào)用 SaveFileDialog
對(duì)話框控件 .............................137
5.5.4 模式窗體 .................................139
5.5.5 多文檔界面 .............................141
本章小結(jié)................................................ 145
習(xí)題 ....................................................... 145
上機(jī)實(shí)驗(yàn)................................................ 149
第 6 章 ADO.NET ............................... 150
6.1 ADO.NET 簡(jiǎn)介 ............................. 151
6.1.1 ADO.NET 的概念 ....................151
6.1.2 ADO.NET 組件的體系結(jié)構(gòu) .....151
6.1.3 ADO.NET 對(duì)象模型 ................152
6.2 ADO.NET 數(shù)據(jù)庫的訪問流程 ...... 153
目 錄 3
6.3 建立數(shù)據(jù)庫連接 ........................... 155
6.3.1 Connection 對(duì)象屬性 ...............155
6.3.2 Connection 對(duì)象構(gòu)造方法 ........157
6.3.3 完整案例 .................................157
6.4 使用 Command 對(duì)象操作
表數(shù)據(jù) ........................................... 158
6.4.1 Command 對(duì)象使用簡(jiǎn)介..........158
6.4.2 Command 對(duì)象方法 .................158
6.5 使用 DataReader 對(duì)象讀取數(shù)據(jù) .... 160
6.5.1 DataReader 對(duì)象使用簡(jiǎn)介 .......160
6.5.2 數(shù)據(jù)閱讀器中記錄的
遍歷與讀取 .............................161
6.5.3 完整案例 .................................162
6.6 使用 DataAdapter、DataSet 和
DataGridView 對(duì)象操作表數(shù)據(jù) ..... 164
6.6.1 DataAdapter 對(duì)象.....................164
6.6.2 DataSet 對(duì)象 ............................166
6.6.3 DataGridView 對(duì)象 ..................173
6.6.4 完整案例 .................................180
本章小結(jié)................................................ 182
習(xí)題 ....................................................... 182
上機(jī)實(shí)驗(yàn)................................................ 187
第 7 章 程序的調(diào)試及異常處理 ............ 188
7.1 程序錯(cuò)誤....................................... 189
7.1.1 語法錯(cuò)誤 .................................189
7.1.2 運(yùn)行時(shí)錯(cuò)誤 .............................190
7.1.3 邏輯錯(cuò)誤 .................................190
7.2 調(diào)試 C#項(xiàng)目 ................................. 191
7.2.1 程序調(diào)試前的設(shè)置 ..................191
7.2.2 斷點(diǎn)的使用 .............................192
7.2.3 控制程序的執(zhí)行 ......................193
7.2.4 監(jiān)視和檢查數(shù)據(jù)的值...............193
7.2.5 人工查找錯(cuò)誤 ..........................195
7.3 程序的異常處理 ........................... 195
7.3.1 異常與異常處理的概念 ...........195
7.3.2 異常類 .....................................196
7.3.3 異常處理 .................................198
7.3.4 使用 throw 語句拋出異常 ........200
7.3.5 用戶自定義異常 ......................201
本章小結(jié)................................................ 202
習(xí)題 ....................................................... 202
上機(jī)實(shí)驗(yàn)................................................ 204
第 8 章 程序的分層設(shè)計(jì)....................... 205
8.1 三層架構(gòu)的概念 ........................... 205
8.1.1 三層架構(gòu)概述 ..........................205
8.1.2 分層描述三層架構(gòu) ..................206
8.1.3 使用三層架構(gòu)的優(yōu)點(diǎn)...............208
8.2 三層架構(gòu)的實(shí)現(xiàn) ........................... 208
本章小結(jié)................................................ 211
習(xí)題 ....................................................... 212
上機(jī)實(shí)驗(yàn)................................................ 212
附錄 A 綜合實(shí)驗(yàn) ................................. 214
A.1 綜合實(shí)驗(yàn)——基于控制臺(tái)的單詞
競(jìng)猜游戲的實(shí)現(xiàn) ........................... 214
A.2 綜合實(shí)驗(yàn)——Windows 編程實(shí)現(xiàn)
八數(shù)碼游戲................................... 215
參考文獻(xiàn)...............................................