書籍簡介:
《C#從入門到精通(第5版)》從初學者角度出發(fā),通過通俗易懂的語言、豐富多彩的實例,詳細介紹了使用C#進行WinForm應用程序開發(fā)應該掌握的各方面技術。全書共分26章,包括初識C#及其開發(fā)環(huán)境、開始C#之旅、變量與常量、表達式與運算符、字符與字符串、流程控制語句、數(shù)組和集合、屬性和方法、結構和類、Windows窗體、Windows應用程序常用控件、Windows應用程序高級控件、數(shù)據(jù)訪問技術、DataGridView數(shù)據(jù)控件、LINQ數(shù)據(jù)訪問技術、程序調(diào)試與異常處理、面向?qū)ο蠹夹g高級應用、迭代器和分部類、泛型、文件及數(shù)據(jù)流技術、GDI 圖形圖像技術、Windows打印技術、網(wǎng)絡編程技術、注冊表技術、線程的使用、企業(yè)人事管理系統(tǒng)等內(nèi)容。
作者簡介:
明日科技,是一個擁有軟件開發(fā)和項目實施方面的資深專家和學習型技術團隊,利用積累的專業(yè)知識和經(jīng)驗,已開發(fā)出版了“從入門到精通”“軟件開發(fā)實戰(zhàn)1200例”“軟件開發(fā)實戰(zhàn)寶典”“軟件項目開發(fā)全程實錄”等系列叢書,是國內(nèi)暢銷的編程圖書品牌。
出版日期:
2019年10月
章節(jié)目錄:
第1篇 基礎知識
第1章 初識C#及其開發(fā)環(huán)境 2
視頻講解:1小時6分鐘
1.1 C#概述 3
1.1.1 C#語言及其特點 3
1.1.2 認識.NET Framework 3
1.1.3 C#與.NET框架 4
1.1.4 C#的應用領域 4
1.2 安裝與卸載Visual Studio 2017 5
1.2.1 安裝Visual Studio 2017必備條件 5
1.2.2 安裝Visual Studio 2017 6
1.2.3 卸載Visual Studio 2017 9
1.3 熟悉Visual Studio 2017開發(fā)環(huán)境 10
1.3.1 創(chuàng)建項目 10
1.3.2 菜單欄 12
1.3.3 工具欄 13
1.3.4 “解決方案資源管理器”窗口 14
1.3.5 “工具箱”窗口 14
1.3.6 “屬性”窗口 15
1.3.7 “錯誤列表”窗口 16
1.4 小結 16
第2章 開始C#之旅 17
視頻講解:1小時10分鐘
2.1 編寫第一個C#程序 18
2.2 初識C#程序結構 19
2.2.1 命名空間 19
2.2.2 類 20
2.2.3 Main()方法 21
2.2.4 標識符及關鍵字 21
2.2.5 C#語句 22
2.2.6 注釋 22
2.3 程序編寫規(guī)范 23
2.3.1 代碼書寫規(guī)則 23
2.3.2 命名規(guī)范 23
2.4 小結 25
2.5 動手糾錯 26
第3章 變量與常量 27
視頻講解:2小時27分鐘
3.1 變量的基本概念 28
3.2 變量的聲明及賦值 28
3.2.1 聲明變量 28
3.2.2 變量的賦值 29
3.2.3 變量的作用域 29
3.3 數(shù)據(jù)類型 31
3.3.1 值類型 31
3.3.2 引用類型 34
3.3.3 值類型與引用類型的區(qū)別 35
3.3.4 枚舉類型 36
3.3.5 類型轉(zhuǎn)換 38
3.4 常量 41
3.5 小結 42
3.6 實踐與練習 42
3.7 動手糾錯 42
第4章 表達式與運算符 43
視頻講解:1小時38分鐘
4.1 表達式 44
4.2 運算符 44
4.2.1 算術運算符 44
4.2.2 賦值運算符 47
4.2.3 關系運算符 48
4.2.4 邏輯運算符 51
4.2.5 位運算符 53
4.2.6 其他特殊運算符 55
4.3 運算符優(yōu)先級 57
4.4 小結 58
4.5 實踐與練習 58
4.6 動手糾錯 58
第5章 字符與字符串 59
視頻講解:2小時6分鐘
5.1 字符類Char的使用 60
5.1.1 Char類概述 60
5.1.2 Char類的使用 60
5.1.3 轉(zhuǎn)義字符 62
5.2 字符串類String的使用 64
5.2.1 字符串的聲明及賦值 64
5.2.2 連接多個字符串 64
5.2.3 比較字符串 65
5.2.4 格式化字符串 67
5.2.5 截取字符串 69
5.2.6 分割字符串 69
5.2.7 插入和填充字符串 70
5.2.8 刪除字符串 71
5.2.9 復制字符串 72
5.2.10 替換字符串 74
5.3 可變字符串類 75
5.3.1 StringBuilder類的定義 75
5.3.2 StringBuilder類的使用 75
5.3.3 StringBuilder類與String類的區(qū)別 77
5.4 小結 78
5.5 實踐與練習 78
5.6 動手糾錯 78
第6章 流程控制語句 79
視頻講解:1小時48分鐘
6.1 條件判斷語句 80
6.1.1 if語句 80
6.1.2 switch多分支語句 84
6.2 循環(huán)語句 87
6.2.1 while語句 87
6.2.2 do…while語句 90
6.2.3 for語句 91
6.2.4 foreach語句 93
6.3 跳轉(zhuǎn)語句 94
6.3.1 break語句 94
6.3.2 continue語句 95
6.3.3 goto語句 96
6.3.4 return語句 98
6.4 小結 98
6.5 實踐與練習 99
6.6 動手糾錯 99
第7章 數(shù)組和集合 101
視頻講解:1小時47分鐘
7.1 數(shù)組概述 102
7.2 一維數(shù)組的創(chuàng)建和使用 102
7.2.1 一維數(shù)組的創(chuàng)建 102
7.2.2 一維數(shù)組的初始化 104
7.2.3 一維數(shù)組的使用 104
7.3 二維數(shù)組的創(chuàng)建和使用 105
7.3.1 二維數(shù)組的創(chuàng)建 105
7.3.2 二維數(shù)組初始化 106
7.3.3 二維數(shù)組的使用 106
7.4 數(shù)組的基本操作 108
7.4.1 遍歷數(shù)組 108
7.4.2 添加/刪除數(shù)組元素 108
7.4.3 對數(shù)組進行排序 113
7.4.4 數(shù)組的合并與拆分 114
7.5 數(shù)組排序算法 116
7.5.1 冒泡排序 116
7.5.2 直接插入排序 118
7.5.3 選擇排序法 120
7.6 ArrayList類 121
7.6.1 ArrayList類概述 121
7.6.2 ArrayList元素的添加 123
7.6.3 ArrayList元素的刪除 125
7.6.4 ArrayList的遍歷 127
7.6.5 ArrayList元素的查找 128
7.7 Hashtable(哈希表) 128
7.7.1 Hashtable概述 128
7.7.2 Hashtable元素的添加 129
7.7.3 Hashtable元素的刪除 129
7.7.4 Hashtable的遍歷 130
7.7.5 Hashtable元素的查找 131
7.8 小結 132
7.9 實踐與練習 132
7.10 動手糾錯 133
第8章 屬性和方法 134
視頻講解:43分鐘
8.1 屬性 135
8.1.1 屬性概述 135
8.1.2 屬性的使用 136
8.2 方法 138
8.2.1 方法的聲明 138
8.2.2 方法的參數(shù)類型 139
8.2.3 方法的分類 141
8.2.4 方法的重載 142
8.2.5 Main()方法 143
8.3 小結 144
8.4 實踐與練習 144
8.5 動手糾錯 144
第9章 結構和類 146
視頻講解:1小時6分鐘
9.1 結構 147
9.1.1 結構概述 147
9.1.2 結構的使用 148
9.2 面向?qū)ο蟾攀?149
9.2.1 對象 149
9.2.2 類 150
9.2.3 封裝 151
9.2.4 繼承 152
9.2.5 多態(tài) 153
9.3 類 153
9.3.1 類的概念 154
9.3.2 類的聲明 154
9.3.3 構造函數(shù)和析構函數(shù) 155
9.3.4 對象的創(chuàng)建及使用 156
9.3.5 this關鍵字 160
9.3.6 類與對象的關系 161
9.4 類的面向?qū)ο筇匦?161
9.4.1 類的封裝 161
9.4.2 類的繼承 162
9.4.3 類的多態(tài) 165
9.5 小結 168
9.6 實踐與練習 168
第2篇 核心技術
第10章 Windows窗體 170
視頻講解:60分鐘
10.1 Form窗體 171
10.1.1 Form窗體的概念 171
10.1.2 添加和刪除窗體 171
10.1.3 多窗體的使用 173
10.1.4 窗體的屬性 174
10.1.5 窗體的顯示與隱藏 177
10.1.6 窗體的事件 178
10.2 MDI窗體 182
10.2.1 MDI窗體的概念 182
10.2.2 如何設置MDI窗體 183
10.2.3 排列MDI子窗體 184
10.3 繼承窗體 186
10.3.1 繼承窗體的概念 186
10.3.2 創(chuàng)建繼承窗體 186
10.3.3 在繼承窗體中修改繼承的控件屬性 188
10.4 小結 189
10.5 實踐與練習 189
第11章 Windows應用程序常用控件 189
視頻講解:1小時33分鐘
11.1 控件概述 190
11.1.1 控件的分類及作用 190
11.1.2 控件命名規(guī)范 190
11.2 控件的相關操作 191
11.2.1 添加控件 191
11.2.2 對齊控件 192
11.2.3 鎖定控件 192
11.2.4 刪除控件 192
11.3 文本類控件 193
11.3.1 標簽控件(Label控件) 193
11.3.2 按鈕控件(Button控件) 194
11.3.3 文本框控件(TextBox控件) 196
11.3.4 有格式文本控件(RichTextBox控件) 199
11.4 選擇類控件 203
11.4.1 下拉組合框控件(ComboBox控件) 203
11.4.2 復選框控件(CheckBox控件) 205
11.4.3 單選按鈕控件(RadioButton控件) 207
11.4.4 數(shù)值選擇控件(NumericUpDown 控件) 209
11.4.5 列表控件(ListBox控件) 211
11.5 分組類控件 214
11.5.1 容器控件(Panel控件) 214
11.5.2 分組框控件(GroupBox控件) 216
11.5.3 選項卡控件(TabControl控件) 216
11.6 菜單、工具欄和狀態(tài)欄控件 221
11.6.1 菜單控件(MenuStrip控件) 221
11.6.2 工具欄控件(ToolStrip控件) 223
11.6.3 狀態(tài)欄控件(StatusStrip控件) 225
11.7 小結 226
11.8 實踐與練習 226
第12章 Windows應用程序高級控件 227
視頻講解:1小時11分鐘
12.1 ImageList控件(存儲圖像控件) 228
12.1.1 在ImageList控件中添加圖像 228
12.1.2 在ImageList控件中移除圖像 229
12.2 ListView控件(列表視圖控件) 231
12.2.1 在ListView控件中添加移除項 232
12.2.2 選擇ListView控件中的項 234
12.2.3 為ListView控件中的項添加圖標 235
12.2.4 在ListView控件中啟用平鋪視圖 236
12.2.5 為ListView控件中的項分組 237
12.3 TreeView控件(樹控件) 240
12.3.1 添加和刪除樹節(jié)點 240
12.3.2 獲取樹控件中選中的節(jié)點 242
12.3.3 為樹控件中的節(jié)點設置圖標 243
12.4 DateTimePicker控件(日期控件) 245
12.4.1 使用DateTimePicker控件顯示時間 245
12.4.2 使用DateTimePicker控件以自定義格式顯示日期 246
12.4.3 返回DateTimePicker控件中選擇的日期 247
12.5 MonthCalendar控件(月歷控件) 248
12.5.1 更改MonthCalendar控件的外觀 248
12.5.2 在MonthCalendar控件中顯示多個月份 249
12.5.3 在MonthCalendar控件中選擇日期范圍 250
12.6 其他高級控件 251
12.6.1 使用ErrorProvider控件驗證文本框輸入 251
12.6.2 使用HelpProvider控件調(diào)用幫助文件 253
12.6.3 使用Timer控件設置時間間隔 254
12.6.4 使用ProgressBar控件顯示程序運行進度條 256
12.7 小結 257
12.8 實踐與練習 257
第13章 數(shù)據(jù)訪問技術 258
視頻講解:1小時46分鐘
13.1 數(shù)據(jù)庫基礎 259
13.1.1 數(shù)據(jù)庫簡介 259
13.1.2 SQL語言簡介 259
13.1.3 數(shù)據(jù)庫的創(chuàng)建及刪除 259
13.1.4 數(shù)據(jù)表的創(chuàng)建及刪除 262
13.1.5 簡單SQL語句的應用 264
13.2 ADO.NET簡介 271
13.3 連接數(shù)據(jù)庫:Connection對象 272
13.3.1 Connection對象概述 272
13.3.2 連接數(shù)據(jù)庫 272
13.3.3 關閉連接 274
13.4 執(zhí)行SQL語句:Command對象 276
13.4.1 Command對象概述 276
13.4.2 設置數(shù)據(jù)源類型 277
13.4.3 執(zhí)行SQL語句 278
13.5 讀取數(shù)據(jù):DataReader對象 281
13.5.1 DataReader對象概述 281
13.5.2 判斷查詢結果中是否有值 281
13.5.3 讀取數(shù)據(jù) 282
13.6 數(shù)據(jù)適配器:DataAdapter對象 283
13.6.1 DataAdapter對象概述 283
13.6.2 填充DataSet數(shù)據(jù)集 284
13.6.3 更新數(shù)據(jù)源 285
13.7 數(shù)據(jù)集:DataSet對象 287
13.7.1 DataSet對象概述 287
13.7.2 合并DataSet內(nèi)容 288
13.7.3 復制DataSet內(nèi)容 290
13.8 Entity Framework編程基礎 291
13.8.1 什么是Entity Framework 291
13.8.2 Entity Framework實體數(shù)據(jù)模型 292
13.8.3 Entity Framework運行環(huán)境 293
13.8.4 創(chuàng)建實體數(shù)據(jù)模型 293
13.8.5 通過EF對數(shù)據(jù)表進行增刪改查操作 297
13.9 小結 300
13.10 實踐與練習 300
第14章 DataGridView數(shù)據(jù)控件 301
視頻講解:46分鐘
14.1 DataGridView控件概述 302
14.2 在DataGridView控件中顯示數(shù)據(jù) 302
14.3 獲取DataGridView控件中的當前單元格 303
14.4 直接在DataGridView控件中修改數(shù)據(jù) 304
14.5 當選中DataGridView控件中的行時顯示不同的顏色 307
14.6 禁止在DataGridView控件中添加和刪除行 308
14.7 使用Columns和Rows屬性添加數(shù)據(jù) 309
14.8 小結 310
14.9 實踐與練習 311
第15章 LINQ數(shù)據(jù)訪問技術 312
視頻講解:1小時2分鐘
15.1 LINQ基礎 313
15.1.1 LINQ概述 313
15.1.2 使用var創(chuàng)建隱型局部變量 314
15.1.3 Lambda表達式的使用 315
15.1.4 LINQ查詢表達式 316
15.2 LINQ操作SQL Server數(shù)據(jù)庫 318
15.2.1 使用LINQ查詢SQL Server數(shù)據(jù)庫 318
15.2.2 使用LINQ管理SQL Server數(shù)據(jù)庫 322
15.3 LINQ操作其他數(shù)據(jù) 329
15.3.1 使用LINQ操作數(shù)組和集合 329
15.3.2 使用LINQ操作DataSet數(shù)據(jù)集 330
15.3.3 使用LINQ操作XML 332
15.4 小結 336
15.5 實踐與練習 336
第16章 程序調(diào)試與異常處理 337
視頻講解:39分鐘
16.1 程序調(diào)試概述 338
16.2 常用的程序調(diào)試操作 338
16.2.1 斷點操作 338
16.2.2 開始執(zhí)行 340
16.2.3 中斷執(zhí)行 341
16.2.4 停止執(zhí)行 342
16.2.5 單步執(zhí)行和逐過程執(zhí)行 342
16.2.6 運行到指定位置 343
16.3 異常處理概述 343
16.4 異常處理語句 344
16.4.1 try…catch語句 344
16.4.2 throw語句 346
16.4.3 try…catch…finally語句 347
16.5 小結 349
16.6 實踐與練習 349
第3篇 高級應用
第17章 面向?qū)ο蠹夹g高級應用 351
視頻講解:49分鐘
17.1 抽象類與抽象方法 352
17.1.1 抽象類概述及聲明 352
17.1.2 抽象方法概述及聲明 353
17.1.3 抽象類與抽象方法的使用 354
17.2 接口 355
17.2.1 接口的概念及聲明 355
17.2.2 接口的實現(xiàn)與繼承 357
17.2.3 顯式接口成員實現(xiàn) 360
17.2.4 抽象類與接口 361
17.3 密封類與密封方法 362
17.3.1 密封類概述及聲明 362
17.3.2 密封方法概述及聲明 363
17.3.3 密封類與密封方法的使用 363
17.4 委托和匿名方法 365
17.4.1 委托 365
17.4.2 匿名方法 366
17.5 事件 367
17.5.1 委托的發(fā)布和訂閱 368
17.5.2 事件的發(fā)布和訂閱 369
17.5.3 EventHandler類 370
17.5.4 Windows事件概述 372
17.6 小結 373
17.7 實踐與練習 373
第18章 迭代器和分部類 374
視頻講解:19分鐘
18.1 迭代器 375
18.1.1 迭代器概述 375
18.1.2 迭代器的使用 375
18.2 分部類 376
18.2.1 分部類概述 376
18.2.2 分部類的使用 377
18.3 小結 378
18.4 實踐與練習 379
第19章 泛型 380
視頻講解:22分鐘
19.1 泛型概述 381
19.2 泛型的使用 381
19.2.1 類型參數(shù)T 381
19.2.2 泛型接口 382
19.2.3 泛型方法 383
19.3 小結 384
19.4 實踐與練習 384
第20章 文件及數(shù)據(jù)流技術 385
視頻講解:1小時22分鐘
20.1 System.IO命名空間 386
20.1.1 File類和Directory類 386
20.1.2 FileInfo類和DirectoryInfo類 390
20.2 文件基本操作 393
20.2.1 判斷文件是否存在 393
20.2.2 創(chuàng)建文件 394
20.2.3 復制或移動文件 395
20.2.4 刪除文件 396
20.2.5 獲取文件的基本信息 397
20.3 文件夾的基本操作 398
20.3.1 判斷文件夾是否存在 398
20.3.2 創(chuàng)建文件夾 399
20.3.3 移動文件夾 400
20.3.4 刪除文件夾 401
20.3.5 遍歷文件夾 401
20.4 數(shù)據(jù)流 404
20.4.1 流操作類介紹 404
20.4.2 文件流類 404
20.4.3 文本文件的寫入與讀取 406
20.4.4 二進制文件的寫入與讀取 409
20.5 小結 411
20.6 實踐與練習 411
第21章 GDI 圖形圖像技術 412
視頻講解:1小時11分鐘
21.1 GDI 繪圖基礎 413
21.1.1 GDI 概述 413
21.1.2 創(chuàng)建Graphics對象 413
21.1.3 創(chuàng)建Pen對象 414
21.1.4 創(chuàng)建Brush對象 414
21.2 基本圖形繪制 417
21.2.1 GDI 中的直線和矩形 417
21.2.2 GDI 中的橢圓、圓弧和扇形 419
21.2.3 GDI 中的多邊形 422
21.3 GDI 繪圖的應用 424
21.3.1 繪制柱形圖 424
21.3.2 繪制折線圖 427
21.3.3 繪制餅形圖 429
21.4 小結 432
21.5 實踐與練習 432
第22章 Windows打印技術 433
視頻講解:27分鐘
22.1 PageSetupDialog控件 434
22.2 PrintDialog控件 436
22.3 PrintDocument控件 438
22.4 PrintPreviewControl控件 439
22.5 PrintPreviewDialog控件 440
22.6 小結 441
22.7 實踐與練習 441
第23章 網(wǎng)絡編程技術 442
視頻講解:48分鐘
23.1 網(wǎng)絡編程基礎 443
23.1.1 System.Net命名空間 443
23.1.2 System.Net.Sockets命名空間 450
23.2 開發(fā)網(wǎng)絡應用程序 457
23.2.1 創(chuàng)建Web頁面瀏覽器 457
23.2.2 局域網(wǎng)聊天程序 458
23.3 小結 461
23.4 實踐與練習 461
第24章 注冊表技術 462
視頻講解:20分鐘
24.1 注冊表基礎 463
24.1.1 Windows注冊表概述 463
24.1.2 Registry和RegistryKey類 463
24.2 在C#中操作注冊表 465
24.2.1 讀取注冊表中的信息 465
24.2.2 創(chuàng)建和修改注冊表信息 467
24.2.3 刪除注冊表中的信息 470
24.3 小結 474
24.4 實踐與練習 474
第25章 線程的使用 475
視頻講解:29分鐘
25.1 線程簡介 476
25.1.1 單線程簡介 476
25.1.2 多線程簡介 476
25.2 線程的基本操作 477
25.2.1 Thread類 477
25.2.2 創(chuàng)建線程 480
25.2.3 線程的掛起與恢復 481
25.2.4 線程休眠 482
25.2.5 終止線程 482
25.2.6 線程的優(yōu)先級 484
25.2.7 線程同步 485
25.3 小結 489
25.4 實踐與練習 490
第4篇 項目實戰(zhàn)
第26章 企業(yè)人事管理系統(tǒng) 492
視頻講解:1小時54分鐘
26.1 系統(tǒng)分析 493
26.1.1 需求分析 493
26.1.2 可行性分析 493
26.1.3 編寫項目計劃書 494
26.2 系統(tǒng)設計 496
26.2.1 系統(tǒng)目標 496
26.2.2 系統(tǒng)功能結構 496
26.2.3 系統(tǒng)業(yè)務流程圖 497
26.2.4 系統(tǒng)編碼規(guī)范 498
26.3 系統(tǒng)運行環(huán)境 501
26.4 數(shù)據(jù)庫與數(shù)據(jù)表設計 501
26.4.1 數(shù)據(jù)庫分析 502
26.4.2 創(chuàng)建數(shù)據(jù)庫 502
26.4.3 創(chuàng)建數(shù)據(jù)表 505
26.4.4 數(shù)據(jù)表邏輯關系 510
26.5 創(chuàng)建項目 512
26.6 公共類設計 514
26.6.1 MyMeans公共類 514
26.6.2 MyModule公共類 517
26.7 登錄模塊設計 531
26.7.1 設計登錄窗體 532
26.7.2 按Enter鍵時移動鼠標焦點 532
26.7.3 登錄功能的實現(xiàn) 532
26.8 系統(tǒng)主窗體設計 533
26.8.1 設計菜單欄 534
26.8.2 設計工具欄 535
26.8.3 設計導航菜單 537
26.8.4 設計狀態(tài)欄 538
26.9 人事檔案管理模塊設計 539
26.9.1 設計人事檔案管理窗體 540
26.9.2 添加/修改人事檔案信息 542
26.9.3 刪除人事檔案信息 544
26.9.4 單條件查詢?nèi)耸聶n案信息 544
26.9.5 逐條查看人事檔案信息 547
26.9.6 將人事檔案信息導出為Word文檔 548
26.9.7 將人事檔案信息導出為Excel表格 553
26.10 人事資料查詢模塊設計 558
26.10.1 設計人事資料查詢窗體 558
26.10.2 多條件查詢?nèi)耸沦Y料 559
26.11 通訊錄模塊設計 560
26.11.1 設計通訊錄窗體 561
26.11.2 添加/修改通訊錄信息 561
26.11.3 刪除通訊錄信息 564
26.11.4 查詢通訊錄信息 564
26.12 用戶設置模塊設計 565
26.12.1 設計用戶設置窗體 565
26.12.2 添加/修改用戶信息 566
26.12.3 刪除用戶基本信息 568
26.12.4 設置用戶操作權限 568
26.13 數(shù)據(jù)庫維護模塊設計 569
26.13.1 設計數(shù)據(jù)庫維護窗體 570
26.13.2 備份數(shù)據(jù)庫 570
26.13.3 還原數(shù)據(jù)庫 571
26.14 運行項目 573
26.15 開發(fā)的常見問題與解決 574
26.15.1 程序為什么會無法運行 574
26.15.2 為什么無法添加職工基本信息 574
26.15.3 選擇職工頭像時出現(xiàn)異常怎么辦 576
26.15.4 數(shù)據(jù)庫還原不成功應該如何解決 576
26.16 小結 576
附錄 577
封面圖: