本書系統(tǒng)全面地介紹了有關(guān)C#程序開發(fā)所涉及的各類知識。全書共分13章,內(nèi)容包括.NET與C#基礎(chǔ)、C#編程基礎(chǔ)、面向?qū)ο缶幊袒A(chǔ)、面向?qū)ο缶幊踢M(jìn)階、Windows應(yīng)用程序開發(fā)、GDI+編程、文件操作、數(shù)據(jù)庫應(yīng)用、LINQ技術(shù)、網(wǎng)絡(luò)編程、多線程編程、綜合案例——騰龍進(jìn)銷存管理系統(tǒng)、課程設(shè)計——桌面提醒工具。全書每章內(nèi)容都與實例緊密結(jié)合,有助于學(xué)生理解知識、應(yīng)用知識,達(dá)到學(xué)以致用的目的。
買書送名師,明日科技資深講師面對面授課。本課程依托人民郵電出版社自主開發(fā)的在線教育慕課平臺——人郵學(xué)院(www.rymooc.com),該平臺具有完備的在線“教、學(xué)、測”功能。人郵學(xué)院提供體系完整的100學(xué)時慕課教學(xué)視頻同步講解,即學(xué)即練的在線測試。書中附有188個微課視頻,掃一掃書中二維碼,便可隨時隨地學(xué)習(xí)。附贈300余道習(xí)題和自測題, PPT 課件、案例源代碼、自測試卷、拓展案例等豐富的配套資源。
明日科技 已經(jīng)在我社出版多本程序設(shè)計類書籍,包括“技術(shù)方案寶典”、“開發(fā)技術(shù)大全”、“自學(xué)手冊”、“參考大全”等多個系列,大都取得比較好的市場反響。
第1章 .NET與C#基礎(chǔ) 1
1.1 C# 簡介 2
1.1.1 C#的發(fā)展歷史 2
1.1.2 C#的特點 2
1.2 .NET 開發(fā)平臺 2
1.2.1 .NETFramework概述 2
1.2.2 VS2017的集成開發(fā)環(huán)境 3
1.2.3 第一個C#程序 6
1.2.4 C#程序的基本結(jié)構(gòu) 7
1.3 VisualC# 開發(fā)環(huán)境 9
1.3.1 新建Windows窗體應(yīng)用程序 9
1.3.2 標(biāo)題欄 10
1.3.3 菜單欄 11
1.3.4 工具欄 15
1.3.5 工具箱 16
1.3.6 窗口 16
小結(jié) 18
上機(jī)指導(dǎo) 18
習(xí)題 19
第2章 C#編程基礎(chǔ) 20
2.1 基本數(shù)據(jù)類型 21
2.1.1 值類型 21
2.1.2 引用類型 22
2.1.3 值類型與引用類型的區(qū)別 23
2.2 常量和變量 25
2.2.1 常量的聲明和使用 25
2.2.2 變量的聲明和使用 26
2.3 表達(dá)式與運算符 26
2.3.1 算術(shù)運算符 27
2.3.2 自增、自減運算符 27
2.3.3 賦值運算符 28
2.3.4 關(guān)系運算符 29
2.3.5 邏輯運算符 30
2.3.6 位運算符 31
2.3.7 移位運算符 32
2.3.8 條件運算符 33
2.3.9 運算符的優(yōu)先級與結(jié)合性 33
2.3.10 表達(dá)式中的類型轉(zhuǎn)換 34
2.4 選擇語句 36
2.4.1 if語句 36
2.4.2 switch語句 40
2.5 循環(huán)語句 42
2.5.1 while循環(huán)語句 43
2.5.2 do...while循環(huán)語句 43
2.5.3 for循環(huán)語句 44
2.6 跳轉(zhuǎn)語句 45
2.6.1 break語句 45
2.6.2 continue語句 45
2.6.3 goto語句 46
2.7 數(shù) 組 47
2.7.1 一維數(shù)組 47
2.7.2 多維數(shù)組 48
2.7.3 不規(guī)則數(shù)組 48
2.7.4 數(shù)組與System.Array 49
2.7.5 常用數(shù)組操作 50
2.7.6 使用foreach語句遍歷數(shù)組 53
小結(jié) 54
上機(jī)指導(dǎo) 54
習(xí)題 56
第3章 面向?qū)ο缶幊袒A(chǔ) 57
3.1 面向?qū)ο蟾拍睢?8
3.1.1 對象、類、實例化 58
3.1.2 面向?qū)ο蟪绦蛟O(shè)計語言的三大原則 59
3.2 類 61
3.2.1 類的概念 61
3.2.2 類的聲明 61
3.2.3 類的成員 62
3.2.4 構(gòu)造函數(shù)和析構(gòu)函數(shù) 65
3.2.5 對象的創(chuàng)建及使用 66
3.2.6 this關(guān)鍵字 69
3.2.7 類與對象的關(guān)系 70
3.3 方法 70
3.3.1 方法的聲明 70
3.3.2 方法的參數(shù) 71
3.3.3 靜態(tài)方法與實例方法 74
3.3.4 方法的重載 75
小 結(jié) 76
上機(jī)指導(dǎo) 76
習(xí) 題 79
第4章 面向?qū)ο缶幊踢M(jìn)階 80
4.1 類的繼承與多態(tài) 81
4.1.1 繼承 81
4.1.2 多態(tài) 83
4.2 結(jié)構(gòu)與接口 88
4.2.1 結(jié)構(gòu) 88
4.2.2 接口 89
4.3 集合與索引器 94
4.3.1 集合 94
4.3.2 索引器 98
4.4 異常處理 99
4.4.1 異常處理類 100
4.4.2 異常處理語句 100
4.5 委托和匿名方法 102
4.5.1 委托 102
4.5.2 匿名方法 104
4.6 事件 105
4.6.1 委托的發(fā)布和訂閱 105
4.6.2 事件的發(fā)布和訂閱 107
4.6.3 EventHandler類 108
4.6.4 Windows事件 109
4.7 預(yù)處理指令 110
4.7.1 #region和#endregion 111
4.7.2 #define和#undef 111
4.7.3 #if、#else、#elif和#endif 112
4.7.4 #warning和#error 113
4.7.5 #line 113
4.8 泛型 114
4.8.1 類型參數(shù)T 114
4.8.2 泛型接口 114
4.8.3 泛型方法 115
小結(jié) 116
上機(jī)指導(dǎo) 116
習(xí)題 119
第5章 Windows應(yīng)用程序開發(fā) 120
5.1 開發(fā)應(yīng)用程序的步驟 121
5.2 Windows窗體介紹 122
5.2.1 添加窗體 123
5.2.2 設(shè)置啟動窗體 123
5.2.3 設(shè)置窗體屬性 123
5.2.4 窗體常用方法 125
5.2.5 窗體常用事件 126
5.3 Windows控件的使用 126
5.3.1 Control基類 126
5.3.2 Label控件 128
5.3.3 Button控件 129
5.3.4 TextBox控件 129
5.3.5 CheckBox控件 130
5.3.6 RadioButton控件 131
5.3.7 RichTextBox控件 132
5.3.8 ComboBox控件 134
5.3.9 ListBox控件 135
5.3.10 GroupBox控件 136
5.3.11 ListView控件 136
5.3.12 TreeView控件 139
5.3.13 ImageList組件 141
5.3.14 Timer組件 142
5.4 菜單、工具欄與狀態(tài)欄 144
5.4.1 MenuStrip控件 144
5.4.2 ToolStrip控件 145
5.4.3 StatusStrip控件 146
5.5 對話框 147
5.5.1 消息框 147
5.5.2 窗體 149
5.5.3 打開對話框控件 149
5.5.4 另存為對話框控件 151
5.5.5 瀏覽文件夾對話框控件 151
5.5.6 顏色對話框控件 152
5.5.7 字體對話框控件 153
5.6 多文檔界面(MDI窗體) 154
5.6.1 MDI窗體的概念 154
5.6.2 設(shè)置MDI窗體 154
5.6.3 排列MDI子窗體 155
5.7 打印與打印預(yù)覽 156
5.7.1 PageSetupDialog組件 157
5.7.2 PrintDialog組件 157
5.7.3 PrintPreviewDialog組件 158
5.7.4 PrintDocument組件 158
小結(jié) 159
上機(jī)指導(dǎo) 159
習(xí)題 162
第6章 GDI+編程 163
6.1 GDI+ 繪圖基礎(chǔ) 164
6.1.1 坐標(biāo)系 164
6.1.2 像素 164
6.1.3 Graphics類 164
6.2 繪圖 167
6.2.1 畫筆 167
6.2.2 畫刷 167
6.2.3 繪制直線 168
6.2.4 繪制矩形 169
6.2.5 繪制橢圓 171
6.2.6 繪制圓弧 172
6.2.7 繪制扇形 173
6.2.8 繪制多邊形 175
6.3 顏色 177
6.4 文本輸出 178
6.4.1 字體 178
6.4.2 輸出文本 178
6.5 圖像處理 179
6.5.1 繪制圖像 179
6.5.2 刷新圖像 180
小結(jié) 181
上機(jī)指導(dǎo) 181
習(xí)題 183
第7章 文件操作 184
7.1 文件概述 185
7.2 System.IO 命名空間 185
7.3 文件與目錄類 186
7.3.1 File類和FileInfo類 186
7.3.2 Directory類和DirectoryInfo類 188
7.3.3 Path類 192
7.3.4 DriveInfo類 193
7.4 數(shù)據(jù)流基礎(chǔ) 195
7.4.1 流操作類介紹 195
7.4.2 文件流 195
7.4.3 文本文件的讀寫 198
7.4.4 二進(jìn)制文件的讀寫 200
小結(jié) 202
上機(jī)指導(dǎo) 202
習(xí)題 204
第8章 數(shù)據(jù)庫應(yīng)用 205
8.1 數(shù)據(jù)庫基礎(chǔ) 206
8.1.1 數(shù)據(jù)庫概述 206
8.1.2 數(shù)據(jù)庫的創(chuàng)建及刪除 206
8.1.3 數(shù)據(jù)表的創(chuàng)建及刪除 207
8.1.4 結(jié)構(gòu)化查詢語言(SQL) 209
8.2 ADO.NET 概述 213
8.2.1 ADO.NET對象模型 213
8.2.2 數(shù)據(jù)訪問命名空間 214
8.3 Connection 數(shù)據(jù)連接對象 215
8.3.1 熟悉Connection對象 215
8.3.2 數(shù)據(jù)庫連接字符串 215
8.3.3 應(yīng)用SqlConnection對象連接數(shù)據(jù)庫 216
8.4 Command 命令執(zhí)行對象 217
8.4.1 熟悉Command對象 217
8.4.2 應(yīng)用Command對象操作數(shù)據(jù) 218
8.4.3 應(yīng)用Command對象調(diào)用存儲過程 219
8.5 DataReader 數(shù)據(jù)讀取對象 220
8.5.1 DataReader對象概述 220
8.5.2 使用DataReader對象讀取數(shù)據(jù) 221
8.6 DataSet對象和DataAdapter對象 223
8.6.1 DataSet對象 223
8.6.2 DataAdapter對象 226
8.6.3 填充DataSet數(shù)據(jù)集 227
8.6.4 DataSet對象與DataReader對象的區(qū)別 228
8.7 數(shù)據(jù)操作控件 228
8.7.1 DataGridView控件 228
8.7.2 BindingSource組件 231
小結(jié) 233
上機(jī)指導(dǎo) 234
習(xí)題 237
第9章 LINQ技術(shù) 238
9.1 LINQ基礎(chǔ) 239
9.1.1 LINQ概述 239
9.1.2 LINQ查詢 239
9.1.3 使用var創(chuàng)建隱型局部變量 241
9.1.4 Lambda表達(dá)式的使用 242
9.2 LINQ查詢表達(dá)式 243
9.2.1 獲取數(shù)據(jù)源 243
9.2.2 篩選 243
9.2.3 排序 244
9.2.4 分組 244
9.2.5 聯(lián)接 244
9.2.6 選擇(投影) 245
9.3 LINQ操作SQLServer 245
9.3.1 使用LINQ查詢SQLServer 245
9.3.2 使用LINQ更新SQLServer 249
小結(jié) 256
上機(jī)指導(dǎo) 256
習(xí)題 258
第10章 網(wǎng)絡(luò)編程 259
10.1 計算機(jī)網(wǎng)絡(luò)基礎(chǔ) 260
10.1.1 局域網(wǎng)與因特網(wǎng)介紹 260
10.1.2 網(wǎng)絡(luò)協(xié)議介紹 260
10.1.3 端口及套接字介紹 261
10.2 網(wǎng)絡(luò)編程基礎(chǔ) 262
10.2.1 System.Net命名空間及相關(guān)類的使用 262
10.2.2 System.Net.Sockets命名空間及相關(guān)類的使用 269
10.2.3 System.Net.Mail命名空間及相關(guān)類的使用 275
小結(jié) 278
上機(jī)指導(dǎo) 278
習(xí)題 281
第11章 多線程編程 282
11.1 線程概述 283
11.1.1 多線程工作方式 283
11.1.2 何時使用多線程 283
11.2 線程的基本操作 284
11.2.1 線程的創(chuàng)建與啟動 284
11.2.2 線程的掛起與恢復(fù) 286
11.2.3 線程休眠 287
11.2.4 終止線程 287
11.2.5 線程的優(yōu)先級 289
11.3 線程同步 290
11.3.1 lock關(guān)鍵字 291
11.3.2 線程監(jiān)視器——Monitor 292
11.3.3 子線程訪問主線程的控件 293
11.4 線程池和定時器 294
11.4.1 線程池 294
11.4.2 定時器 295
11.5 互斥對象——Mutex 296
小結(jié) 297
上機(jī)指導(dǎo) 298
習(xí)題 300
第12章 綜合案例——騰龍進(jìn)銷存管理系統(tǒng) 301
12.1 需求分析 302
12.2 總體設(shè)計 302
12.2.1 系統(tǒng)目標(biāo) 302
12.2.2 構(gòu)建開發(fā)環(huán)境 302
12.2.3 系統(tǒng)功能結(jié)構(gòu) 302
12.2.4 業(yè)務(wù)流程圖 303
12.3 數(shù)據(jù)庫設(shè)計 304
12.3.1 數(shù)據(jù)庫概要說明 304
12.3.2 數(shù)據(jù)庫E-R圖 304
12.3.3 數(shù)據(jù)表結(jié)構(gòu) 306
12.4 公共類設(shè)計 308
12.4.1 DataBase公共類 308
12.4.2 BaseInfo公共類 312
12.5 系統(tǒng)主要模塊開發(fā) 317
12.5.1 系統(tǒng)主窗體設(shè)計 317
12.5.2 庫存商品管理模塊設(shè)計 319
12.5.3 進(jìn)貨管理模塊概述 323
12.5.4 商品銷售排行模塊概述 331
12.6 運行項目 333
小結(jié) 334
第13章 課程設(shè)計——桌面提醒工具 335
13.1 課程設(shè)計目的 336
13.2 功能描述 336
13.3 總體設(shè)計 336
13.3.1 構(gòu)建開發(fā)環(huán)境 336
13.3.2 程序預(yù)覽 336
13.4 數(shù)據(jù)庫設(shè)計 338
13.5 公共類設(shè)計 339
13.5.1 封裝數(shù)據(jù)值和顯示值的類 339
13.5.2 綁定和顯示數(shù)據(jù)的類 339
13.6 實現(xiàn)過程 340
13.6.1 提醒設(shè)置 340
13.6.2 計劃錄入 343
13.6.3 計劃查詢 347
13.7 課程設(shè)計總結(jié) 351
13.7.1 技術(shù)總結(jié) 351
13.7.2 經(jīng)驗總結(jié) 352