從零開始學C#

明日科技編著

  • 出版商: 化學工業
  • 出版日期: 2022-06-01
  • 定價: $594
  • 售價: 8.5$505
  • 語言: 簡體中文
  • 頁數: 381
  • 裝訂: 平裝
  • ISBN: 7122405907
  • ISBN-13: 9787122405906
  • 相關分類: C#
  • 立即出貨

買這商品的人也買了...

商品描述

本書從零基礎讀者的角度出發,通過通俗易懂的語言、豐富多彩的實例,
循序漸進地讓讀者在實踐中學習C#編程知識,並提升自己的實際開發能力。
全書共分為5篇21章,內容包括搭建C#開發環境、第一個C#程序、數據類型、運算符、條件語句、
循環語句、數組、字符串、面向對象編程基礎、繼承與多態、集合與索引器、委託與事件、泛型、
程序調試與異常處理、Windows窗體編程、Windows控件的使用、使用C#操作數據庫、
Entity Framework編程、文件及文件夾操作、貪吃蛇大作戰、人事工資管理系統等。
書中知識點講解細緻,側重介紹每個知識點的使用場景,涉及的代碼給出了詳細的註釋,
可以使讀者輕鬆領會C#程序開發的精髓,快速提高開發技能。
同時,本書配套了大量教學視頻,掃碼即可觀看,還提供所有程序源文件,方便讀者實踐。
本書適合C#初學者、軟件開發入門者自學使用,也可用作高等院校相關專業的教材及參考書。

目錄大綱

第1篇C#基礎知識篇
第1章搭建C#開發環境2 視頻講解:3節,49分鐘
1.1 C#語言入門3
1.1.1 C#語言的發展3
1.1.2 C#語言的特點3
1.1.3 認識.NET Framework 3
1.1.4 C#與.NET Framework 4
1.1.5 C#的應用領域4
1.2 Visual Studio 2019的安裝與卸載4
1.2.1 安裝Visual Studio 2019必備條件4
1.2.2 下載Visual Studio 2019 5
1.2.3 安裝Visual Studio 2019 5
1.2.4 卸載Visual Studio 2019 8
1.3 熟悉Visual Studio 2019開發環境9
1.3.1 創建項目9
1.3.2 菜單欄11
1.3.3 工具欄11
1.3.4 解決方案資源管理器11
1.3.5 “工具箱”窗口12
1.3.6 “屬性”窗口12
1.3.7 “錯誤列表”窗口13
本章知識思維導圖13

第2章第一個C#程序14 視頻講解:9節,77分鐘
2.1 編寫第一個C#程序15
[實例2.1] 輸出“人因夢想而偉大” 17
2.2 C#程序結構預覽18
2.2.1 命名空間18
2.2.2 類20
2.2.3 關鍵字與標識符21
2.2.4 Main方法22
2.2.5 C#語句23
2.2.6 註釋24
2.2.7 一個完整的C#程序26
[實例2.2] 輸出軟件啟動頁26
2.3 程序編寫規範27
2.3.1 代碼編寫規則27
2.3.2 命名規範28
本章知識思維導圖30

第3章數據類型31 視頻講解:4節,136分鐘
3.1 數據類型及變量32
3.1.1 為什麼要使用變量32
3.1.2 變量是什麼32
3.1.3 聲明變量32
3.1.4 簡單數據類型33
[實例3.1] 根據身高體重計算BMI指數36
[實例3.2] 字符類Char的常用方法應用38
[實例3.3] 輸出Windows系統目錄40
3.1.5 變量的初始化41
3.1.6 變量的作用域42
[實例3.4] 使用變量記錄用戶登錄名43
3.2 引用類型43
3.2.1 引用類型分類43
3.2.2 引用類型舉例45
[實例3.5] 引用類型的使用45
3.2.3 值類型與引用類型的區別46
[實例3.6] 值類型與引用類型的區別舉例46
3.3 常量47
3.3.1 常量是什麼48
3.3.2 常量的分類48
3.4 數據類型轉換49
3.4.1 隱式類型轉換49
3.4.2 顯式類型轉換50
3.4.3 使用Convert類進行轉換50
本章知識思維導圖52

第4章運算符53 視頻講解:9節,99分鐘
4.1 算術運算符54
[實例4.1] 計算學生成績的分差及平均分54
4.2 自增自減運算符55
4.3 賦值運算符56
4.4 關係運算符58
[實例4.2] 使用關係運算符比較大小關係58
4.5 邏輯運算符59
[實例4.3] 參加麵包店的打折活動60
4.6 位運算符60
4.7 移位運算符62
4.8 條件運算符62
[實例4.4] 判斷人的年齡所處階段63
4.9 運算符優先級與結合性64
本章知識思維導圖66

第5章條件語句67 視頻講解:2節,61分鐘
5.1 if條件語句68
5.1.1 決策分支68
5.1.2 if語句68
[實例5.1] 判斷輸入是不是奇數69
[實例5.2] 根據分數劃分是否優秀71
[實例5.3] 根據分數劃分優秀等級73
[實例5.4] 判斷輸入的年份是不是閏年75
5.2 switch多分支語句76
5.2.1 switch語句76
[實例5.5] 查詢高考錄取分數線77
5.2.2 switch與if…else if…else的區別78
本章知識思維導圖79

第6章循環語句80 視頻講解:5節,63分鐘
6.1 while循環81
[實例6.1] 數學家高斯的故事81
6.2 do…while循環82
6.2.1 do…while循環的使用82
[實例6.2] 使用do…while循環挑戰數據家高斯83
6.2.2 while和do…while語句的區別83
6.3 for循環83
6.3.1 for循環的一般形式83
[實例6.3] 使用for循環挑戰數據家高斯84
6.3.2 for循環的變體85
6.3.3 for循環中逗號的應用86
6.4 循環的嵌套86
[實例6.4] 打印九九乘法表88
6.5 跳轉語句88
6.5.1 break語句88
[實例6.5] 使用break跳出循環89
6.5.2 continue語句89
[實例6.6] 使用continue語句實現1到100之間的偶數和89
6.5.3 goto語句90
[實例6.7] 使用goto語句實現1到100的累加90
6.5.4 continue和break語句的區別91
本章知識思維導圖92

第7章數組93 視頻講解:5節,75分鐘
7.1 一維數組94
7.1.1 數組概述94
7.1.2 一維數組的創建94
7.1.3 一維數組的初始化96
7.1.4 一維數組的使用96
[實例7.1] 輸出一年中每個月的天數96
7.2 二維數組97
7.2.1 二維數組的創建97
7.2.2 二維數組的初始化99
7.2.3 二維數組的使用100
[實例7.2] 模擬客車售票系統100
7.2.4 不規則數組的定義101
7.2.5 獲取二維數組的列數101
7.3 數組與Array類102
[實例7.3] 打印楊輝三角102
7.4 數組的基本操作103
7.4.1 數組的輸入與輸出103
[實例7.4] 一維數組的輸入與輸出103
[實例7.5] 二維數組的輸入與輸出舉例104
7.4.2 使用foreach語句遍歷數組105
[實例7.6] 輸出狼人殺遊戲主要角色105
7.4.3 對數組進行排序106
7.5 數組排序算法107
7.5.1 冒泡排序算法107
[實例7.7] 冒泡排序算法排序108
7.5.2 選擇排序算法109
[實例7.8] 選擇排序算法排序110
本章知識思維導圖112

第8章字符串113 視頻講解:20節,156分鐘
8.1 字符串的聲明與初始化114
8.1.1 聲明字符串114
8.1.2 字符串的初始化114
8.2 提取字符串信息115
8.2.1 獲取字符串長度116
8.2.2 獲取指定位置的字符116
8.2.3 獲取子字符串索引位置116
[實例8.1] 查找“r”在“We are the world”中出現的位置117
8.2.4 判斷字符串首尾內容118
8.3 字符串操作119
8.3.1 字符串的拼接120
8.3.2 比較字符串120
[實例8.2] 驗證用戶名和密碼是否正確121
8.3.3 字符串的大小寫轉換122
8.3.4 格式化字符串122
[實例8.3] 格式化不同的數值類型數據124
[實例8.4] 輸出不同形式的日期時間125
8.3.5 截取字符串126
[實例8.5] 從完整文件名中獲取文件名和擴展名126
8.3.6 分割字符串126
[實例8.6] 學習編程的最終目標127
8.3.7 插入及填充字符串127
[實例8.7] 對字符串進行填充128
8.3.8 刪除字符串128
8.3.9 去除空白內容129
8.3.10 複製字符串129
8.3.11 替換字符串131
[實例8.8] 字符串的替換131
8.4 可變字符串類132
8.4.1 StringBuilder類的定義132
8.4.2 StringBuilder類的使用133
[實例8.9] StringBuilder類中幾種方法的應用133
8.4.3 StringBuilder類與string類的區別134
[實例8.10] 對比string和StringBuilder的執行效率135
本章知識思維導圖137

第2篇面向對象編程篇
第9章面向對象編程基礎140 視頻講解:5節,133分鐘
9.1 認識面向對象141
9.1.1 對象141
9.1.2 類142
9.1.3 面向對象技術的基本思想143
9.1.4 面向對象程序設計的特點143
9.1.5 了解面向過程編程144
9.2 類145
9.2.1 類的聲明145
9.2.2 類的成員145
[實例9.1] 使用屬性控制用戶年齡輸入147
[實例9.2] 設計表示星期的枚舉149
9.2.3 權限修飾符150
9.2.4 構造函數151
[實例9.3] 對比靜態構造函數和實例構造函數的執行153
9.2.5 析構函數154
9.3 方法154
9.3.1 方法的聲明155
9.3.2 方法的參數155
[實例9.4] 計算兩個數的和156
[實例9.5] 值參數對引用類型的影響157
[實例9.6] ref參數的應用157
[實例9.7] 使用out參數記錄運算結果158
[實例9.8] 使用params參數計算不定數的和159
9.3.3 方法的重載160
[實例9.9] 使用重載方法計算不同類型數的和160
9.4 類的靜態成員161
9.5 對象的創建及使用161
9.5.1 對象的創建161
9.5.2 訪問對象的屬性和行為162
[實例9.10] 使用屬性控制用戶年齡輸入163
9.5.3 對象的銷毀163
9.5.4 this關鍵字164
9.5.5 類與對象的關係165
本章知識思維導圖165

第10章繼承與多態166 視頻講解:3節,42分鐘
10.1 繼承167
10.1.1 使用繼承167
[實例10.1] 模擬實現進銷存管理系統的進貨信息並輸出168
10.1.2 base關鍵字169
[實例10.2] 使用base關鍵字調用父類方法170
10.1.3 繼承中的構造函數與析構函數171
[實例10.3] 演示繼承中構造函數與析構函數的執行順序171
10.2 多態172
10.2.1 虛方法的重寫172
[實例10.4] 通過重寫虛方法實現多態173
10.2.2 抽像類與抽象方法174
[實例10.5] 模擬“去商場買衣服”場景175
10.2.3 密封類與密封方法176
[實例10.6] 密封類的使用176
10.3 接口177
10.3.1 接口的概念及聲明177
10.3.2 接口的實現與繼承178
[實例10.7] 通過繼承接口實現輸出進貨信息和銷售信息178
10.3.3 顯式接口成員實現180
[實例10.8] 顯式接口成員的實現舉例180
10.3.4 抽像類與接口182
本章知識思維導圖183

第11章集合與索引器184 視頻講解:3節,14分鐘
11.1 集合185
11.1.1 自定義集合185
[實例11.1] 自定義集合存儲商品信息186
11.1.2 使用集合類187
[實例11.2] 使用ArrayList集合存儲商品信息188
11.2 索引器188
[實例11.3] 使用索引器操作字符串數組189
本章知識思維導圖190

第12章委託與事件191 視頻講解:3節,27分鐘
12.1 委託與多路廣播委託192
12.1.1 委託192
12.1.2 多路廣播委託194
[實例12.1] 多路廣播委託操作195
12.2 匿名方法196
[實例12.2] 匿名方法和命名方法的對比196
12.3 事件197
12.3.1 委託的發布和訂閱197
[實例12.3] 通過委託來實現學生們對鈴聲所做出的響應198
12.3.2 事件的發布和訂閱199
12.3.3 EventHandler類200
12.3.4 Windows事件概述201
本章知識思維導圖202

第13章泛型203 視頻講解:1節,14分鐘
13.1 為什麼要使用泛型204
13.2 泛型類型參數204
[實例13.1] 使用泛型解決參數類型不確定的問題205
13.3 泛型方法205
13.4 泛型類206
13.5 泛型接口206
13.6 泛型約束206
13.7 兩種特殊的泛型委託207
本章知識思維導圖209

第14章程序調試與異常處理210 視頻講解:3節,20分鐘
14.1 程序調試211
14.1.1 Visual Studio編輯器調試211
14.1.2 Visual Studio調試器調試212
14.2 異常處理215
14.2.1 try…catch語句216
[實例14.1] 未將對象引用設置到對象的實例217
14.2.2 try…catch…finally語句218
[實例14.2] 捕捉將字符串轉換為整型數據時的異常218
14.2.3 throw語句219
[實例14.3] 拋出除數為0的異常219
14.2.4 異常的使用原則220
本章知識思維導圖221

第3篇Windows窗體編程篇
第15章Windows窗體編程224 視頻講解:3節,35分鐘
15.1 開發Windows窗體程序的步驟225
15.2 Form窗體228
15.2.1 添加和刪除窗體228
15.2.2 多窗體的使用230
15.2.3 窗體的屬性230
15.2.4 窗體的顯示與隱藏233
15.2.5 窗體的事件234
15.3 MDI窗體236
15.3.1 MDI窗體的概念236
15.3.2 如何設置MDI窗體236
15.3.3 排列MDI子窗體237
[實例15.1] 排列MDI父窗體中的多個子窗體237
本章知識思維導圖239

第16章Windows控件的使用240 視頻講解:25節,143分鐘
16.1 控件基礎241
16.1.1 控件概述241
16.1.2 控件的相關操作241
16.2 文本類控件242
16.2.1 Label:標籤242
16.2.2 TextBox:文本框243
16.2.3 RichTextBox:有格式文本框244
[實例16.1] 在RichTextBox中設置超鏈接245
16.3 按鈕類控件246
16.3.1 Button:按鈕246
[實例16.2] 製作登錄窗體中的登錄和退出按鈕246
16.3.2 RadioButton:單選按鈕247
[實例16.3] 選擇用戶登錄身份247
16.3.3 CheckBox:複選框248
[實例16.4] 設置用戶操作權限249
16.4 列表類控件249
16.4.1 ComboBox:下拉組合框249
[實例16.5] 選擇員工的職位250
16.4.2 NumericUpDown:數值選擇250
[實例16.6] 動態顯示選擇的數值251
16.4.3 ListBox:列表251
[實例16.7] 在ListBox中添加和移除項252
[實例16.8] 在ListBox中顯示滾動條252
[實例16.9] 在ListBox中選擇多項253
16.4.4 ListView控件:列表視圖254
16.5 圖片類控件256
16.5.1 PictureBox:圖片256
16.5.2 ImageList:圖片列表257
[實例16.10] 使用ImageList加載和移除圖像258
16.6 容器控件259
16.6.1 GroupBox:分組框259
16.6.2 Panel:容器259
16.6.3 TabControl:選項卡259
[實例16.11] 動態添加和刪除選項卡261
16.7 TreeView:樹控件261
[實例16.12] 使用樹控件顯示部門結構263
16.8 Timer:計時器264
[實例16.13] 模擬雙色球選號265
16.9 ProgressBar:進度條266
16.10 菜單、工具欄和狀態欄266
16.10.1 MenuStrip:菜單266
16.10.2 ToolStrip:工具欄267
16.10.3 StatusStrip:狀態欄268
[實例16.14] 在狀態欄中顯示登錄用戶及時間268
16.11 消息框270
16.12 對話框271
16.12.1 “打開”對話框271
16.12.2 “另存為”對話框273
16.12.3 “瀏覽文件夾”對話框273
本章知識思維導圖274

第4篇數據庫及文件篇
第17章使用C#操作數據庫276 視頻講解:7節,67分鐘
17.1 SQL語句基礎277
17.1.1 SQL語言簡介277
17.1.2 簡單SQL語句的應用277
17.2 ADO.NET概述281
17.2.1 ADO.NET對像模型281
17.2.2 數據訪問命名空間281
17.3 Connection數據連接對象282
17.3.1 熟悉Connection對象282
17.3.2 數據庫連接字符串282
17.3.3 應用SqlConnection對象連接數據庫284
[實例17.1] 使用SqlConnection對象連接SQL Server數據庫284
17.4 Command命令執行對象285
17.4.1 熟悉Command對象285
17.4.2 應用Command對像操作數據286
[實例17.2] 向數據表中添加編程詞典價格信息286
17.4.3 應用Command對象調用存儲過程286
[實例17.3] 使用存儲過程向數據表中添加編程詞典價格信息286
17.5 DataReader數據讀取對象287
17.5.1 DataReader對象概述287
17.5.2 使用DataReader對象檢索數據288
[實例17.4] 獲取編程詞典信息並分列顯示289
17.6 DataSet對象和DataAdapter操作對象290
17.6.1 DataSet對象290
17.6.2 DataAdapter對象290
17.6.3 填充DataSet數據集291
[實例17.5] 填充DataSet數據集並顯示292
17.6.4 DataSet對象與DataReader對象的區別292
17.7 DataGridView控件的使用292
[實例17.6] DataGridView表格的使用293
本章知識思維導圖295

第18章Entity Framework編程296 視頻講解:1節,22分鐘
18.1 什麼是Entity Framework 297
18.2 Entity?Framework實體數據模型297
18.3 創建實體數據模型298
18.4 通過EF對數據表進行增刪改查操作300
[實例18.1] 通過EF對數據表進行增刪改查操作301
18.5 EF相對於ADO.NET的優勢302
本章知識思維導圖303

第19章文件及文件夾操作304 視頻講解:4節,70分鐘
19.1 System.IO命名空間305
19.2 文件基本操作306
19.2.1 File類306
19.2.2 FileInfo類307
19.2.3 判斷文件是否存在307
19.2.4 創建文件308
19.2.5 複製文件309
19.2.6 移動文件310
19.2.7 刪除文件310
19.2.8 獲取文件基本信息311
[實例19.1] 獲取選定文件的詳細信息311
19.3 文件夾基本操作312
19.3.1 Directory類312
19.3.2 DirectoryInfo類312
19.3.3 判斷文件夾是否存在313
19.3.4 創建文件夾313
19.3.5 移動文件夾314
19.3.6 刪除文件夾315
19.3.7 遍歷文件夾315
[實例19.2] 獲取文件夾中的所有子文件夾及文件信息316
19.4 I/O數據流基礎318
19.4.1 流概述318
19.4.2 文件流319
[實例19.3] 使用不同的方式打開文件320
19.4.3 文本文件的讀寫321
[實例19.4] 文本文件中寫入和讀取名人名言322
本章知識思維導圖324

第5篇項目開發篇
第20章貪吃蛇大作戰326 視頻講解:1節,3分鐘
20.1 遊戲描述327
20.2 設計思路327
20.3 開發過程328
20.3.1 創建項目並導入資源文件328
20.3.2 設計主窗體329
20.3.3 初始化遊戲場景及蛇身331
20.3.4 控制遊戲的開始、暫停和結束332
20.3.5 移動貪吃蛇並控制其速度333
本章知識思維導圖334

第21章人事工資管理系統335 視頻講解:1節,3分鐘
21.1 需求分析336
21.2 系統設計336
21.2.1 系統功能結構336
21.2.2 業務流程圖336
21.2.3 編碼規則336
21.2.4 程序運行環境337
21.2.5 系統預覽337
21.3 數據庫設計339
21.3.1 數據庫分析339
21.3.2 數據庫概念設計339
21.3.3 數據庫邏輯結構設計341
21.4 文件夾組織結構342
21.4.1 文件夾組織結構圖343
21.4.2 程序文件組織結構圖343
21.5 公共類設計344
21.5.1 DBConnection公共類344
21.5.2 DBOperate公共類345
21.6 登錄模塊設計348
21.6.1 登錄模塊概述348
21.6.2 登錄模塊實現過程349
21.7 主窗體設計350
21.7.1 主窗體概述350
21.7.2 主窗體實現過程351
21.8 檔案管理模塊設計352
21.8.1 檔案管理模塊概述352
21.8.2 檔案管理模塊實現過程352
21.9 獎罰管理模塊設計359
21.9.1 獎罰管理模塊概述359
21.9.2 獎罰管理模塊實現過程360
本章知識思維導圖364
附錄數據庫基礎365