C# 從入門到項目實踐(超值版)
內容描述
《C#從入門到項目實踐(超值版)》採用“基礎知識→核心應用→核心技術→高級應用→項目實踐”結構和“由淺入深,由深到精”的模式進行講解。《C#從入門到項目實踐(超值版)》共分為5篇20章。首先通過一個簡單的C#程序來讓讀者對其有一個簡單的認識,主要講解常量與變量、數據類型與運算符、程序的流程控制、數組的使用,同時引入面向對象編程思想;接著講述字符串與正則表達式、集合與泛型的使用、C#的窗體控件、C#的各種高級控件的使用,同時著重介紹C#操作文件和註冊表的方法、多線程操作、異常處理及程序調試,如何將應用程序打包並製作成安裝程序在客戶機上部署等;最後在項目實踐環節著重介紹軟件工程師必備素養與技能、Windows計算器的製作、自助取款機系統,以及掃雷游戲等,為日後進行軟件項目管理及實戰開發積累經驗。 《C#從入門到項目實踐(超值版)》的目的是多角度、全方位地幫助讀者快速掌握軟件開發技能,構建學生從高校到社會的就業橋梁,讓有志於軟件開發工作的讀者輕松步入職場。《C#從入門到項目實踐(超值版)》贈送的資源比較多,在《C#從入門到項目實踐(超值版)》前言部分對資源包的具體內容、獲取方式以及使用方法等做了詳細說明。 《C#從入門到項目實踐(超值版)》適合任何想學習C#的讀者,不管是否接觸過C#,是否從事電腦相關行業,都可以通過學習《C#從入門到項目實踐(超值版)》快速地掌握C#的開發方法和技巧。《C#從入門到項目實踐(超值版)》還可供大中專院校和社會培訓機構的師生以及正在進行軟件專業相關畢業設計的學生閱讀。
目錄大綱
第1篇 基礎知識
第1章 步入C#編程世界——Hello C# 002
◎ 本章教學微視頻:13個 21分鐘
1.1 認識C#語言 002
1.1.1 C#的發展史 002
1.1.2 C#的特點 003
1.1.3 C#典型行業應用 004
1.2 .NET Framework 004
1.2.1 .NET Framework發展史 004
1.2.2 .NET Framework的組成 006
1.2.3 C#與.NET Framework 006
1.3 C#程序開發工具——集成開發環境
Visual Studio 2017 007
1.3.1 Visual Studio 2017的安裝 007
1.3.2 Visual Studio 2017的卸載 010
1.3.3 Visual Studio 2017集成開發環境 011
1.4 編寫第一個C#應用程序——Hello,C# 014
1.4.1 新建項目 014
1.4.2 添加程序語句 015
1.4.3 運行程序 016
1.5 控制台應用程序的輸入與輸出 016
1.6 就業面試技巧與解析 018
1.6.1 面試技巧與解析(一) 018
1.6.2 面試技巧與解析(二) 018
第2章 剖析Hello C#——第一個C#程序 019
◎ 本章教學微視頻:14個 24分鐘
2.1 C#的程序結構 019
2.2 C#基本語法 020
2.2.1 命名空間、標識符及關鍵字 020
2.2.2 類名 022
2.2.3 Main方法 023
2.2.4 代碼註釋 024
2.2.5 C#語句 024
2.3 C#代碼編寫規範 025
2.3.1 命名規範 025
2.3.2 namespace的命名規範 027
2.3.3 類的命名規範 028
2.3.4 接口的命名規範 028
2.3.5 方法的命名規範 028
2.3.6 不同變量使用前綴區分 029
2.3.7 註釋規範 029
2.3.8 佈局規範 030
2.4 就業面試技巧與解析 032
2.4.1 面試技巧與解析(一) 032
2.4.2 面試技巧與解析(二) 032
第3章 C#程序開發基礎——常量與變量 033
◎ 本章教學微視頻:14個 30分鐘
3.1 常量 033
3.1.1 整數常量 033
3.1.2 字符常量 034
3.1.3 字符串常量 035
3.1.4 浮點常量 037
3.1.5 常量的定義 037
3.2 變量 038
3.2.1 變量的聲明 038
3.2.2 變量的定義 039
3.2.3 變量的初始化 039
3.2.4 C#中的左值和右值 040
3.3 變量的類型 040
3.3.1 值類型 040
3.3.2 引用類型 044
3.3.3 值類型與引用類型的區別 045
3.3.4 枚舉類型 046
3.3.5 變量的作用域 047
3.4 就業面試技巧與解析 048
3.4.1 面試技巧與解析(一) 048
3.4.2 面試技巧與解析(二) 048
第4章 C#程序開發基礎——數據類型與運算符 049
◎ 本章教學微視頻:16個 38分鐘
4.1 數據類型概述 049
4.2 數據類型之間的轉換 052
4.2.1 隱式轉換 052
4.2.2 顯式轉換 053
4.2.3 使用Convert進行任意類轉換 055
4.2.4 數值和字符串之間的轉換 056
4.2.5 Convert.ToInt32()、(int)與int.Parse()的
區別 057
4.3 其他常用類型 058
4.3.1 日期和時間 058
4.3.2 全局唯一標識符 061
4.3.3 統一資源標識符 062
4.4 運算符 064
4.4.1 算術運算符 064
4.4.2 賦值運算符 066
4.4.3 關係運算符 068
4.4.4 邏輯運算符 069
4.4.5 位運算符 071
4.4.6 特殊運算符 073
4.4.7 運算符優先級 077
4.5 就業面試技巧與解析 079
4.5.1 面試技巧與解析(一) 079
4.5.2 面試技巧與解析(二) 080
第2篇 核心應用
第5章 C#程序開發基礎——程序流程控制 082
◎ 本章教學微視頻:12個 32分鐘
5.1 順序語句 082
5.2 分支選擇語句 083
5.2.1 if條件語句 083
5.2.2 switch語句 088
5.3 循環語句 092
5.3.1 while循環語句 092
5.3.2 do…while循環語句 093
5.3.3 for循環語句 094
5.3.4 foreach循環語句 096
5.4 嵌套循環語句 097
5.5 跳轉語句 099
5.5.1 break跳轉語句 099
5.5.2 continue跳轉語句 100
5.5.3 return跳轉語句 101
5.5.4 goto語句 102
5.6 就業面試技巧與解析 103
5.6.1 面試技巧與解析(一) 104
5.6.2 面試技巧與解析(二) 104
第6章 C#基本數據結構——數組 105
◎ 本章教學微視頻:15個 29分鐘
6.1 數組概述 105
6.2 一維數組的聲明和使用 106
6.2.1 一維數組的聲明 106
6.2.2 一維數組的使用 107
6.3 二維數組的聲明和使用 108
6.3.1 二維數組的聲明 108
6.3.2 二維數組的使用 109
6.3.3 動態二維數組的聲明及使用 111
6.4 特殊數組 112
6.4.1 多維數組 112
6.4.2 交錯數組 113
6.5 傳遞數組給函數 114
6.6 參數數組 115
6.7 Array類 116
6.7.1 Array類的屬性及方法 116
6.7.2 遍歷數組 118
6.7.3 查找數組元素 119
6.7.4 數組排序 120
6.7.5 數組合併與拆分 120
6.8 就業面試技巧與解析 122
6.8.1 面試技巧與解析(一) 122
6.8.2 面試技巧與解析(二) 122
第7章 面向對象編程——類與對象 123
◎ 本章教學微視頻:18個 46分鐘
7.1 方法 123
7.1.1 方法的聲明 123
7.1.2 C#中調用方法 124
7.1.3 傳遞參數 126
7.1.4 方法的分類 129
7.1.5 外部方法 130
7.1.6 Main方法 131
7.2 類與對象 132
7.2.1 類的定義 132
7.2.2 類的實例化 133
7.2.3 類的成員 134
7.2.4 字段的使用 134
7.2.5 屬性 136
7.2.6 分部類與方法 139
7.3 構造函數和析構函數 140
7.3.1 構造函數 140
7.3.2 析構函數 142
7.4 虛方法與重寫方法 143
7.5 方法的重載 145
7.6 結構體 146
7.6.1 結構體的定義和使用 146
7.6.2 類與結構體的區別 147
7.7 就業面試技巧與解析 149
7.7.1 面試技巧與解析(一) 149
7.7.2 面試技巧與解析(二) 150
第8章 深入了解面向對象——面向對象的重要
特徵 151
◎ 本章教學微視頻:19個 51分鐘
8.1 面向對象概述 151
8.2 類的繼承 152
8.2.1 基類和派生類 152
8.2.2 繼承的特性 153
8.2.3 調用基類的構造函數 156
8.3 類的封裝 158
8.3.1 public公開的 159
8.3.2 private私有的 159
8.3.3 protected受保護的 160
8.3.4 internal內部訪問 161
8.4 多態 162
8.5 接口 163
8.5.1 接口的聲明 163
8.5.2 接口的實現 164
8.5.3 接口的繼承 166
8.6 抽像類和密封類 169
8.6.1 抽像類和抽象方法 169
8.6.2 抽像類與接口的區別 171
8.6.3 密封類和密封方法 172
8.7 委託與事件 175
8.7.1 委託 175
8.7.2 事件 178
8.8 匿名方法與Lambda表達式 180
8.8.1 匿名方法 180
8.8.2 Lambda表達式 181
8.9 就業面試技巧與解析 183
8.9.1 面試技巧與解析(一) 183
8.9.2 面試技巧與解析(二) 183
第3篇 核心技術
第9章 字符串與正則表達式 186
◎ 本章教學微視頻:28個 43分鐘
9.1 字符串簡介 186
9.2 字符串的操作 187
9.2.1 字符串的大小寫轉換 187
9.2.2 字符串的比較 188
9.2.3 字符串的格式化 190
9.2.4 字符串的截取 192
9.2.5 字符串的分割 192
9.2.6 字符串的合併 193
9.2.7 字符串的插入與填充 194
9.2.8 字符串的刪除 195
9.2.9 字符串的修剪 196
9.2.10 字符串的複制 197
9.2.11 字符串的替換 198
9.2.12 字符串的查找 199
9.3 StringBuilder類 200
9.3.1 StringBuilder類的定義 200
9.3.2 設置StringBuilder類的容量 200
9.3.3 追加操作 201
9.3.4 插入操作 202
9.3.5 刪除操作 202
9.3.6 替換操作 202
9.4 正則表達式 203
9.4.1 正則表達式簡介 203
9.4.2 正則表達式的組成 203
9.4.3 正則表達式的優先級 205
9.5 正則表達式匹配規則 205
9.5.1 字符匹配 206
9.5.2 中括號表達式 206
9.5.3 重複匹配 207
9.5.4 替換和分組 208
9.6 正則表達式涉及的基本類 208
9.6.1 Regex類 208
9.6.2 Match類 209
9.7 就業面試技巧與解析 211
9.7.1 面試技巧與解析(一) 211
9.7.2 面試技巧與解析(二) 212
第10章 特殊的類——集合與泛型 213
◎ 本章教學微視頻:12個 26分鐘
10.1 認識集合 213
10.2 常用集合類型 214
10.2.1 動態數組 214
10.2.2 堆棧(Stack)類 218
10.2.3 隊列(Queue)類 219
10.2.4 哈希表(Hashtable)類 221
10.3 泛型 225
10.3.1 泛型的概述 225
10.3.2 泛型的特點 226
10.3.3 類型參數T 227
10.3.4 泛型集合 227
10.3.5 Dictionary類 230
10.4 泛型接口 232
10.5 泛型方法 233
10.6 就業面試技巧與解析 234
10.6.1 面試技巧與解析(一) 235
10.6.2 面試技巧與解析(二) 235
第11章 應用程序界面開發基礎——窗體控件 236
◎ 本章教學微視頻:23個 59分鐘
11.1 Form窗體 236
11.1.1 創建WinForm程序 236
11.1.2 窗體的添加與刪除 238
11.1.3 窗體的屬性 239
11.1.4 窗體的常用事件 242
11.1.5 窗體的顯示和隱藏 244
11.2 MDI窗體 245
11.2.1 MDI窗體的概念 245
11.2.2 設置MDI窗體 245
11.2.3 排列MDI窗體 247
11.3 文件類控件 249
11.3.1 標籤控件 249
11.3.2 按鈕控件 251
11.3.3 文本框控件 252
11.3.4 有格式文本控件 254
11.4 選擇類控件 258
11.4.1 下拉組合框控件 258
11.4.2 複選框控件 260
11.4.3 單選按鈕控件 261
11.4.4 數值選擇控件 263
11.4.5 列表控件 264
11.5 分組類控件 267
11.5.1 容器控件 267
11.5.2 分組框控件 269
11.5.3 選項卡控件 270
11.6 菜單欄、工具欄和狀態欄控件 272
11.6.1 菜單控件 272
11.6.2 工具欄控件 273
11.6.3 狀態欄控件 273
11.7 就業面試技巧與解析 274
11.7.1 面試技巧與解析(一) 274
11.7.2 面試技巧與解析(二) 274
第12章 應用程序界面開發進階——高級窗體
控件 275
◎ 本章教學微視頻:16個 28分鐘
12.1 圖形和圖像類控件 275
12.1.1 ImageList控件 275
12.1.2 PictureBox控件 276
12.2 列表視圖控件 278
12.2.1 創建列表視圖控件 278
12.2.2 使用列表視圖控件 279
12.3 樹視圖控件 284
12.3.1 添加和刪除樹節點 284
12.3.2 為樹控件中的節點設置圖標 286
12.4 DateTimePicker控件 287
12.4.1 使用DateTimePicker控件顯示
時間 287
12.4.2 使用DateTimePicker控件以自定義
格式顯示時間 288
12.4.3 返回DateTimePicker控件中選擇的
日期 289
12.5 MonthCalender控件 290
12.5.1 更改MonthCalender控件的外觀 290
12.5.2 在MonthCalender控件中顯示多個
月份 292
12.5.3 在MonthCalender控件中選擇日期
範圍 292
12.6 其他高級控件 293
12.6.1 使用ErrorProvider控件驗證文本框
輸入 293
12.6.2 使用HelpProvider控件調用幫助
文件 295
12.6.3 使用Timer控件設置時間間隔 297
12.6.4 使用ProgressBar控件程序運行
進度條 299
12.7 就業面試技巧與解析 300
12.7.1 面試技巧與解析(一) 300
12.7.2 面試技巧與解析(二) 300
第4篇 高級應用
第13章 C#文件操作——文件、數據流與
註冊表 302
◎ 本章教學微視頻:23個 40分鐘
13.1 文件系統 302
13.1.1 System.IO命名空間 302
13.1.2 File類與FileInfo類 303
13.1.3 Directory類與DirectoryInfo類 305
13.2 文件的基本操作 306
13.2.1 判斷文件是否存在 306
13.2.2 創建文件 307
13.2.3 複製或移動文件 308
13.2.4 刪除文件 311
13.2.5 獲取文件的基本信息 312
13.3 文件夾的基本操作 313
13.3.1 判斷文件夾是否存在 313
13.3.2 創建文件夾 314
13.3.3 移動文件夾 315
13.3.4 文件夾的刪除 316
13.3.5 獲取文件夾的基本信息 317
13.4 數據流 319
13.4.1 流操作類介紹 319
13.4.2 文件流類 319
13.4.3 文本文件的寫入與讀取 320
13.4.4 二進製文件的寫入與讀取 322
13.5 註冊表基礎 324
13.5.1 Windows註冊表 324
13.5.2 註冊表的基本結構 324
13.5.3 實現訪問註冊表的兩大類 325
13.6 註冊表的操作基礎 326
13.6.1 讀取註冊表信息 326
13.6.2 新增註冊表信息 329
13.6.3 刪除註冊表信息 330
13.7 就業面試技巧與解析 331
13.7.1 面試技巧與解析(一) 332
13.7.2 面試技巧與解析(二) 332
第14章 C#多線程編程技術——多線程操作 333
◎ 本章教學微視頻:8個 18分鐘
14.1 進程與線程 333
14.1.1 進程的概念 333
14.1.2 線程的概念 334
14.1.3 Thread類 335
14.2 線程的基本操作 336
14.2.1 創建線程 336
14.2.2 線程休眠 337
14.2.3 線程的掛起與恢復 338
14.2.4 終止線程 340
14.2.5 線程的優先級 342
14.3 就業面試技巧與解析 344
14.3.1 面試技巧與解析(一) 344
14.3.2 面試技巧與解析(二) 344
第15章 讓程序運行更穩健——異常、調試和
測試 345
◎ 本章教學微視頻:8個 14分鐘
15.1 異常處理語句 345
15.1.1 異常處理 345
15.1.2 捕獲異常 346
15.1.3 清除、處理異常 346
15.1.4 引發異常 348
15.2 C#中的異常類 349
15.3 程序調試 351
15.3.1 斷點調試 352
15.3.2 開始、中斷和停止程序的執行 352
15.3.3 逐過程執行和逐語句執行 354
15.4 就業面試技巧與解析 354
15.4.1 面試技巧與解析(一) 354
15.4.2 面試技巧與解析(二) 354
第16章 程序開發最後環節——部署與打包應用
程序 355
◎ 本章教學微視頻:7個 9分鐘
16.1 Windows Installer介紹 355
16.2 創建Windows安裝程序 356
16.3 製作Windows安裝程序 357
16.3.1 添加項目輸出文件 357
16.3.2 添加內容文件 357
16.3.3 創建快捷方式 358
16.3.4 添加註冊表 360
16.3.5 生成Windows安裝程序 361
16.4 就業面試技巧與解析 361
16.4.1 面試技巧與解析(一) 362
16.4.2 面試技巧與解析(二) 362
第5篇 項目實踐
第17章 軟件工程師必備素養與技能 364
◎ 本章教學微視頻:29個 48分鐘
17.1 軟件工程師的基本素養 364
17.1.1 具備計算機基礎能力 365
17.1.2 掌握一門編程語言 365
17.1.3 熟悉計算機數據存儲過程 365
17.1.4 較強的英語閱讀和寫作能力 365
17.1.5 軟件開發及測試環境搭建能力 365
17.1.6 熟悉軟件測試基本理論及任務
分配 366
17.2 個人素質必修課程 366
17.2.1 語言表達及溝通能力 366
17.2.2 過硬的心理素質 366
17.2.3 責任心與自信心 367
17.2.4 團隊協作能力 367
17.3 項目開發流程 367
17.3.1 策劃階段 367
17.3.2 需求分析階段 368
17.3.3 開發階段 369
17.3.4 編碼階段 369
17.3.5 系統測試階段 369
17.3.6 系統驗收階段 369
17.3.7 系統維護階段 370
17.4 項目開發團隊 370
17.4.1 項目團隊構建 370
17.4.2 項目團隊要求 371
17.5 項目的實際開發流程 371
17.6 項目規劃常見問題及解決 373
17.6.1 如何滿足客戶需求 373
17.6.2 如何控制項目進度 374
17.6.3 如何控制項目預算 374
第18章 Windows計算器的製作 375
◎ 本章教學微視頻:4個 7分鐘
18.1 系統功能描述 375
18.2 系統功能分析及實現 376
18.2.1 功能分析 376
18.2.2 功能實現 376
18.3 運行程序 384
第19章 自助取款機系統 385
◎ 本章教學微視頻:3個 7分鐘
19.1 系統功能描述 385
19.2 系統功能分析及實現 386
19.2.1 功能分析 386
19.2.2 功能實現 387
19.3 運行程序 394
第20章 掃雷遊戲 395
◎ 本章教學微視頻:3個 7分鐘
20.1 系統功能描述 395
20.2 系統功能分析及實現 396
20.2.1 功能分析 396
20.2.2 功能實現 396
20.3 運行程序 404
作者介紹
聚慕課教育研發中心,是有一家軟件開發公司和線下培訓機構共同組建的IT圖書研發中心,具有18年的圖書開發和12年軟件開發經驗。該研發中心有軟件開發團隊,一批一線軟件培訓講師,高校青年教師以及學科專家團隊構成。致力於IT類圖書策劃、組稿、及編寫。我們對計算機圖書市場進行科學、嚴謹的調查分析,緊跟高新科技,深度挖掘讀者需求,整合優質作者資源,協助作者制定創作計劃、確立創作思想與體例,並實時監控創作質量與進度,確保做出讓讀者讀得懂、用的好、學的會的計算機類圖書。