C#語言是由微軟研發(fā)的一款簡單、高效的編程語言,它不僅能開發(fā)Windows窗體應(yīng)用程序,也能開發(fā)網(wǎng)站應(yīng)用程序,還能使用Unity 3D來開發(fā)游戲程序。本書是關(guān)于C#語言的入門和實用教程,是帶領(lǐng)讀者認(rèn)識并掌握C#的讀物。
本書以Visual Studio 2015作為開發(fā)工具,共13章,分別介紹了C#的基本語法、字符串與數(shù)組、面向?qū)ο蟮幕局R、集合與泛型、事件和委托的使用、創(chuàng)建和使用Windows應(yīng)用程序、使用ADO.NET連接并訪問SQL Server數(shù)據(jù)庫,并在*后綜合使用前面所學(xué)的知識開發(fā)了音樂播放器、ATM交易管理系統(tǒng)、進銷存管理信息系統(tǒng)。
本書使用代碼結(jié)合插圖的方式進行輔助講解,使讀者能夠更加直觀地理解和掌握C#的各個知識點,并且每個知識點都配有視頻講解(掃描二維碼)。
本書可以作為高等學(xué)校各專業(yè)的計算機程序設(shè)計課程教材,同時也可以作為C#語言初學(xué)者的自學(xué)參考書。
前言
C#語言是目前比較流行的開發(fā)語言之一,與Java語言的語法形式有些相似,也是一款面向?qū)ο蟮恼Z言。C#語言憑借其自身的易學(xué)、易用的特點被眾多軟件公司所青睞。此外,由于Visual
Studio開發(fā)平臺具有的優(yōu)秀的集成性,不僅適合開發(fā)C/S結(jié)構(gòu)的程序,也適合開發(fā)B/S結(jié)構(gòu)的程序。在Visual Studio開發(fā)平臺中還集成了SQL Server數(shù)據(jù)庫,因此直接使用C#語言訪問SQL Server數(shù)據(jù)庫是一個比較適合的搭配,目前在很多的軟件系統(tǒng)中都普遍應(yīng)用C#語言和SQL Server數(shù)據(jù)庫開發(fā)的搭配形式。
為了讓讀者快速掌握C#語言的使用,本書從C#語言的開發(fā)環(huán)境開始講起,循序漸進地講解C#語言的基本語法、面向?qū)ο蟮幕局R、集合與泛型、ADO.NET等內(nèi)容,在本書的最后還使用C#與SQL Server數(shù)據(jù)庫開發(fā)了音樂播放器、ATM交易管理系統(tǒng)、進銷存管理信息系統(tǒng)。
本書的內(nèi)容安排
全書共分13章,各章的主要內(nèi)容如下。
第1章簡要介紹了C#語言的特點以及.NET Framework 控件,并介紹了Visual Studio 2015的安裝與卸載。
第2章介紹C#語言的基本語法,包括基本數(shù)據(jù)類型、運算符、常量和變量、條件語句、循環(huán)語句等。
第3章介紹類和方法的定義與使用,包括類的基本概念、類的成員、方法的聲明、嵌套類和部分類的使用以及常用類的定義等。
第4章介紹字符串和數(shù)組的使用,包括常用字符串的使用、數(shù)據(jù)類型轉(zhuǎn)換、正則表達式、一維數(shù)組、多維數(shù)組以及枚舉和結(jié)構(gòu)體類型的使用。
第5章介紹繼承和多態(tài)的使用,包括Object類的使用、使用類圖表示繼承關(guān)系、方法隱藏、虛方法、抽象方法、密封方法、接口的聲明和使用以及使用繼承和接口實現(xiàn)多態(tài)。
第6章介紹集合和泛型的使用,包括ArrayList集合、隊列和棧、Hashtable類、SortedList類以及泛型類和泛型集合的使用。
第7章介紹文件和流的使用,包括查看計算機驅(qū)動器信息、操作文件、File類和FileInfo類的使用、Path類的使用以及使用流來讀寫文本和文件。
第8章介紹委托和事件的使用,包括命名方法的委托、多播委托、匿名委托、事件以及Windows窗體應(yīng)用程序中的一些操作。
第9章介紹窗體中的基本控件和對話框的使用,包括文本框和標(biāo)簽、復(fù)選框、單選按鈕、列表框等控件以及顏色對話框、字體對話框和文件對話框的使用。
第10章介紹調(diào)試與異常處理,包括異常類的介紹、異常處理語句、自定義異常以及程序調(diào)試的方法。
第11章介紹進程與線程,包括進程類的使用、線程的使用、多線程程序以及線程同步的使用。
第12章介紹ADO.NET與數(shù)據(jù)綁定的應(yīng)用,包括ADO.NET中所用的5個核心類以及常用控件的數(shù)據(jù)綁定方法。
第13章介紹音樂播放器的設(shè)計與實現(xiàn),包括用戶登錄注冊模塊以及歌曲播放和管理模塊。
本書附錄還提供了兩個項目案例:ATM交易管理系統(tǒng)和進銷存管理系統(tǒng),需要用微信掃描二維碼閱讀。
本書由淺入深、由理論到實踐,尤其適合初級讀者逐步學(xué)習(xí)和完善自己的知識結(jié)構(gòu)。
為了方便教學(xué),本書配有教學(xué)課件、源代碼、教學(xué)視頻以及習(xí)題答案供讀者參考。
本書由王斌(東北大學(xué))、秦婧、劉存勇共同編寫,在編寫過程中,為了保證內(nèi)容的正確性,查閱了很多資料,并得到一些資深C#開發(fā)人員的支持。由于編者水平有限,書中難免有錯,敬請廣大讀者批評指正,再次表示感謝。
適合閱讀本書的讀者
q
從未接觸過C#的自學(xué)人員
q
有志于使用C#開發(fā)的初學(xué)者
q
高等院校計算機相關(guān)專業(yè)的老師和學(xué)生
q
各大中專院校的在校學(xué)生和相關(guān)授課老師
q
準(zhǔn)備從事軟件開發(fā)的求職者
q
參與畢業(yè)設(shè)計的學(xué)生
q
其他編程愛好者
編 者
2017年10月
第1章 C#與Visual Studio 2015. 1
1.1 認(rèn)識C#. 1
1.2 .NET
Framework. 2
1.3 安裝與卸載Visual Studio 2015. 4
1.3.1 安裝的必備條件... 4
1.3.2 安裝與卸載的步驟... 4
1.4 熟悉Visual Studio 2015的開發(fā)環(huán)境... 6
1.4.1
Visual Studio 2015中常用的菜單... 7
1.4.2 第一個C#程序... 8
1.5 本章小結(jié)... 10
1.6 本章習(xí)題... 11
第2章 C#的基本語法... 12
2.1 基本數(shù)據(jù)類型... 12
2.1.1 整型... 13
2.1.2 浮點型... 13
2.1.3 字符型和字符串類型... 13
2.1.4 布爾類型... 14
2.2 運算符... 14
2.2.1 算術(shù)運算符... 14
2.2.2 邏輯運算符... 15
2.2.3 比較運算符... 16
2.2.4 位運算符... 17
2.2.5 三元運算符... 18
2.2.6 賦值運算符... 19
2.2.7 運算符的優(yōu)先級... 20
2.3 變量和常量... 20
2.3.1 命名規(guī)則... 20
2.3.2 聲明變量... 21
2.3.3 聲明常量... 24
2.4 條件語句... 25
2.4.1 使用if語句... 25
2.4.2 使用switch語句... 29
2.5 循環(huán)語句... 31
2.5.1 使用for循環(huán)... 31
2.5.2 使用while循環(huán)... 35
2.5.3 使用do…while循環(huán)... 35
2.5.4 跳轉(zhuǎn)語句... 37
2.6 本章小結(jié)... 41
2.7 本章習(xí)題... 41
第3章 類和方法... 42
3.1 了解面向?qū)ο?.. 42
3.2 類與類的成員... 43
3.2.1 類的定義... 43
3.2.2 字段... 45
3.2.3 定義方法... 46
3.2.4 定義屬性... 48
3.2.5 訪問類的成員... 53
3.3 深入學(xué)習(xí)方法... 56
3.3.1 構(gòu)造方法... 57
3.3.2 析構(gòu)方法... 58
3.3.3 方法的重載... 59
3.3.4 方法中的參數(shù)... 61
3.3.5 使用C# 6.0的新特性定義方法... 64
3.3.6 方法的遞歸調(diào)用... 65
3.4 嵌套類與部分類... 66
3.4.1 嵌套類... 66
3.4.2 部分類... 67
3.5 常用類介紹... 69
3.5.1
Console類... 69
3.5.2
Math類和Random類... 70
3.5.3
DateTime類... 73
3.6 本章小結(jié)... 74
3.7 本章習(xí)題... 74
第4章 字符串和數(shù)組... 76
4.1 字符串... 76
4.1.1 常用的字符串操作... 77
4.1.2 數(shù)據(jù)類型轉(zhuǎn)換... 82
4.1.3 正則表達式... 85
4.2 數(shù)組... 87
4.2.1 一維數(shù)組... 87
4.2.2 多維數(shù)組... 90
4.2.3 數(shù)組的應(yīng)用... 92
4.3 枚舉與結(jié)構(gòu)體... 96
4.3.1 枚舉... 96
4.3.2 結(jié)構(gòu)體... 98
4.4 本章小結(jié)... 101
4.5 本章習(xí)題... 101
第5章 繼承和多態(tài)... 103
5.1 繼承... 103
5.1.1 Object類... 103
5.1.2 使用類圖表示繼承關(guān)系... 106
5.1.3 方法隱藏new關(guān)鍵字... 110
5.1.4 virtual關(guān)鍵字... 112
5.1.5 abstract關(guān)鍵字... 116
5.1.6 sealed關(guān)鍵字... 118
5.1.7 子類實例化的過程... 119
5.1.8 使用繼承實現(xiàn)多態(tài)... 121
5.2 接口... 123
5.2.1 接口的定義... 123
5.2.2 接口的實現(xiàn)... 124
5.2.3 使用接口實現(xiàn)多態(tài)... 127
5.3 本章小結(jié)... 131
5.4 本章習(xí)題... 131
第6章 集合與泛型... 132
6.1 集合... 132
6.1.1 集合的概述... 132
6.1.2 ArrayList類... 133
6.1.3 Queue類和Stack類... 139
6.1.4 Hashtable類和SortedList類... 143
6.2 泛型... 146
6.2.1 了解泛型... 146
6.2.2 可空類型... 146
6.2.3 泛型方法... 148
6.2.4 泛型類... 149
6.2.5 泛型集合... 150
6.2.6 集合中比較器的使用... 153
6.3 本章小結(jié)... 156
6.4 本章習(xí)題... 156
第7章 文件和流... 157
7.1 文件操作... 157
7.1.1 查看計算機驅(qū)動器信息... 157
7.1.2 操作文件夾... 159
7.1.3 File類和FileInfo類... 163
7.1.4 Path類... 166
7.2 流... 167
7.2.1 文本讀寫流... 167
7.2.2 文件讀寫流... 170
7.2.3 以二進制形式讀寫流... 173
7.3 本章小結(jié)... 177
7.4 本章習(xí)題... 178
第8章 委托和事件... 179
8.1 委托... 179
8.1.1 命名方法委托... 179
8.1.2 多播委托... 183
8.1.3 匿名委托... 184
8.2 事件... 185
8.3
Windows應(yīng)用程序中的窗體... 187
8.3.1 創(chuàng)建Windows窗體應(yīng)用程序... 188
8.3.2 窗體中的屬性... 190
8.3.3 窗體中的事件... 194
8.3.4 窗體中的方法... 197
8.3.5 使用消息框... 199
8.4 本章小結(jié)... 202
8.5 本章習(xí)題... 203
第9章 Windows窗體應(yīng)用程序... 204
9.1 窗體中的基本控件... 204
9.1.1 文本框與標(biāo)簽... 205
9.1.2 按鈕和復(fù)選框... 209
9.1.3 列表框和組合框... 216
9.1.4 圖片控件... 223
9.1.5 與時間相關(guān)的控件... 225
9.1.6 菜單欄和工具欄... 229
9.1.7 MDI窗體... 234
9.2
Windows窗體中的對話框控件... 236
9.2.1 使用顏色對話框... 236
9.2.2 使用字體對話框... 238
9.2.3 使用文件對話框... 239
9.3 本章小結(jié)... 242
9.4 本章習(xí)題... 242
第10章 調(diào)試與異常處理... 243
10.1 異常類... 243
10.2 異常處理語句... 244
10.2.1 try…catch形式的應(yīng)用... 244
10.2.2 try…finally形式的應(yīng)用... 246
10.2.3 try…catch…finally形式的應(yīng)用... 249
10.3 自定義異常... 250
10.4 調(diào)試... 251
10.4.1 常用的調(diào)試語句... 251
10.4.2 調(diào)試程序... 253
10.5 本章小結(jié)... 258
10.6 本章習(xí)題... 258
第11章 進程與線程... 260
11.1 進程的基本操作... 260
11.1.1 認(rèn)識Process類... 260
11.1.2 使用進程... 261
11.2 線程的基本操作... 265
11.2.1 與線程有關(guān)的類... 265
11.2.2 使用簡單線程... 266
11.2.3 多線程... 270
11.2.4 線程同步... 274
11.3 本章小結(jié)... 279
11.4 本章習(xí)題... 279
第12章 ADO.NET與數(shù)據(jù)綁定... 280
12.1 ADO.NET概述... 280
12.2 Connection類的使用... 281
12.2.1 Connection類... 281
12.2.2 使用Connection類連接數(shù)據(jù)庫... 282
12.3 Command類的使用... 286
12.3.1 Command類... 286
12.3.2 使用Command類操作數(shù)據(jù)庫... 287
12.4 DataReader類的使用... 294
12.4.1 DataReader類... 294
12.4.2 使用DataReader類讀取查詢結(jié)果... 295
12.5 DataAdapter與DataSet類的使用... 297
12.5.1 DataAdapter與DataSet類... 297
12.5.2 使用DataSet和DataTable類存放查詢結(jié)果... 299
12.5.3 DataRow和DataColumn類... 301
12.5.4 使用DataSet類更新數(shù)據(jù)庫... 304
12.6 數(shù)據(jù)綁定... 308
12.6.1 使用組合框控件... 308
12.6.2 使用數(shù)據(jù)表格控件... 316
12.6.3 數(shù)據(jù)表格控件的應(yīng)用... 320
12.7 本章小結(jié)... 328
12.8 本章習(xí)題... 328
第13章 音樂播放器... 329
13.1 音樂播放器概述... 329
13.2 系統(tǒng)設(shè)計... 330
13.2.1 數(shù)據(jù)表設(shè)計... 330
13.2.2 系統(tǒng)結(jié)構(gòu)... 331
13.2.3 數(shù)據(jù)庫通用類... 332
13.3 登錄注冊模塊的實現(xiàn)... 334
13.3.1 登錄功能... 334
13.3.2 注冊功能... 336
13.4 歌曲操作功能的實現(xiàn)... 339
13.4.1 播放歌曲... 339
13.4.2 添加歌曲... 344
13.4.3 管理歌曲... 348
13.5 本章小結(jié)... 351
附錄A 實驗... 352
實驗1 熟悉Visual Studio 2015的開發(fā)環(huán)境... 352
實驗2 掌握C#的基本語法... 353
實驗3 類和方法... 356
實驗4 字符串和數(shù)組... 361
實驗5 繼承和多態(tài)... 365
實驗6 集合和泛型... 375
實驗7 文件和流... 380
實驗8 Windows應(yīng)用程序... 386
實驗9 進程與線程... 390
實驗10 ADO.NET與數(shù)據(jù)綁定... 393
附錄B 項目案例ATM交易管理系統(tǒng)... 403
附錄C 項目案例進銷存管理信息系統(tǒng)... 404