《精通Visual C#(第4版)》是2018年10月清華大學出版社出版的圖書,作者是(美)托尼·加迪斯(Tony Gaddis) 。
基本介紹
- 中文名:精通Visual C#(第4版)
- 作者:(美)托尼·加迪斯(Tony Gaddis)
- 出版社:清華大學出版社
- 出版時間:2018年10月1日
- 定價:169 元
- ISBN:9787302509103
內容簡介,圖書目錄,
內容簡介
這是暢銷系列Start Out With中的一本,秉持該系列圖書的寫作特色,從基礎入手,逐步深入介紹Visual C#,講解清晰、編排周到且易於理解。本書不僅給出了大量的示例程式,每章還提供了大量操作步驟詳細的實踐教程,以及實現這些應用程式的完整代碼和窗體截圖,方便讀者學習。本書共分為11章,知識體系完備,編寫體例充分考慮到教學的需要,可以作為全國各大中專院校計算機專業的相關教材,對Visual C#開發人員也是很好的參考用書。
圖書目錄
第1章 計算機和編程導論 1
1.1 導言 1
1.2 硬體和軟體 2
1.2.1 硬體 2
1.2.2 軟體 5
1.2.3 思考題 5
1.3 計算機存儲數據的方式 6
1.3.1 數字存儲 7
1.3.2 字元存儲 8
1.3.3 高級數字存儲 9
1.3.4 其他類型數據的
存儲方式 9
1.3.5 思考題 9
1.4 程式工作原理 10
1.4.1 從機器語言到彙編
語言 12
1.4.2 高級語言 12
1.4.3 關鍵字、運算符和
語法概述 13
1.4.4 編譯器和解釋器 14
1.4.5 思考題 15
1.5 圖形用戶界面 16
1.5.1 事件驅動的GUI
程式 17
1.5.2 思考題 18
1.6 對象 18
1.6.1 可見對象與不可見
對象 19
1.6.2 類:對象來源 20
1.6.3 .NET框架 20
1.6.4 編寫自定義類 20
1.6.5 思考題 20
1.7 程式開發過程 21
1.7.1 程式開發周期 21
1.7.2 思考題 24
1.8 Visual Studio開發環境入門 24
教程1-1:Visual Studio入門和
環境設定 25
1.8.1 新建項目 27
教程1-2:新建Visual C#項目 27
教程1-3:保存和關閉項目 29
1.8.2 Visual Studio開發
環境 29
1.8.3 使用“自動隱藏”
功能 30
1.8.4 選單欄和“標準”
工具列 31
1.8.5 工具箱 32
1.8.6 使用工具提示 34
1.8.7 停靠和浮動視窗 34
1.8.8 項目和解決方案 34
1.8.9 解決方案和項目在磁碟
上的典型組織方式 36
1.8.10 打開現有的項目 37
教程1-4:打開現有的項目 37
1.8.11 顯示設計器視窗 37
1.8.12 訪問Visual Studio
文檔 38
教程1-5:熟悉Visual Studio開發
環境 38
1.8.13 思考題 39
本章重點辭彙(中英文對照) 39
複習和練習 41
編程挑戰 44
第2章 Visual C#簡介 46
2.1 窗體和控制項入門 46
2.1.1 應用程式窗體 46
2.1.2 通過名稱識別窗體和
控制項 46
2.1.3 “屬性”視窗 48
2.1.4 添加控制項到窗體中 50
2.1.5 按鈕控制項詳解 51
2.1.6 修改控制項的名稱 52
2.1.7 控制項命名規則 53
2.1.8 思考題 54
2.2 為第一個程式創建圖形用戶
界面 54
教程2-1:創建Hello World套用
程式的圖形用戶界面 55
2.3 初識C#代碼 58
2.3.1 在代碼編輯器和
設計器之間切換 61
2.3.2 將自己的代碼添加
到項目中 62
2.3.3 訊息框 64
2.3.4 字元串常量 66
2.3.5 多個按鈕與事件
處理程式 66
2.3.6 設計時和運行時 67
2.3.7 思考題 68
2.4 為Hello World應用程式編寫
代碼 68
教程2-2:為Hello World套用
程式編寫代碼 68
2.5 使用標籤控制項 70
2.5.1 設定字型屬性 72
2.5.2 設定框線樣式屬性 73
2.5.3 設定自動調整大小
屬性 73
2.5.4 設定文本對齊屬性 74
2.5.5 使用代碼在標籤控制項
中顯示輸出 75
教程2-3:創建Language Translator
程式 78
2.5.6 思考題 81
2.6 了解智慧型感知功能 81
2.7 使用圖片框控制項 82
2.7.1 設定大小模式屬性 84
2.7.2 創建可單擊的圖像 85
教程2-4:創建Flags應用程式 86
2.7.3 可見性屬性 89
教程2-5:創建Card Flip套用
程式 90
2.7.4 語句執行順序 93
2.7.5 思考題 94
2.8 注釋、空行和縮進 94
2.8.1 注釋 94
2.8.2 使用空行和縮進使
代碼更易於閱讀 95
2.8.3 思考題 96
2.9 編寫代碼以關閉應用程式
窗體 96
2.10 處理語法錯誤 97
思考題 98
本章重點辭彙(中英文對照) 98
複習和練習 99
編程挑戰 102
第3章 處理數據 106
3.1 使用文本框控制項讀取輸入 106
3.1.1 清除文本框控制項的
內容 108
3.1.2 思考題 108
3.2 變數初窺 108
3.2.1 數據類型 109
3.2.2 變數名 109
3.2.3 string變數 109
3.2.4 字元串連線 110
3.2.5 在使用變數之前必須
先聲明 112
3.2.6 局部變數 112
3.2.7 變數的作用域 112
3.2.8 變數的生存周期 113
3.2.9 重複的變數名稱 113
3.2.10 賦值兼容性 113
3.2.11 一個變數一次只能
保存一個值 114
教程3-1:創建Birth Date String
應用程式 115
3.2.12 初始化變數 118
3.2.13 使用一個語句聲明
多個變數 119
3.2.14 思考題 119
3.3 數字數據類型和變數 120
3.3.1 數字常量 121
3.3.2 int變數的賦值
兼容性 122
3.3.3 double變數的賦值
兼容性 122
3.3.4 decimal變數的賦值
兼容性 123
3.3.5 使用強制類型轉換
運算符顯式轉換值 123
3.3.6 思考題 124
3.4 執行計算 125
3.4.1 計算的順序 126
3.4.2 使用括弧分組 127
3.4.3 在數學表達式中使用
混合的數據類型 127
3.4.4 整除 128
3.4.5 組合賦值運算符 129
3.4.6 思考題 130
3.5 輸入和輸出數字值 130
3.5.1 從文本框中獲取
數字 130
3.5.2 顯示數字值 133
3.5.3 使用+運算符進行
隱式字元串轉換 134
教程3-2:計算燃油的經濟性 135
3.5.4 思考題 138
3.6 使用ToString方法設定
數字格式 138
3.6.1 數字格式 139
3.6.2 固定點格式 139
3.6.3 指數格式 140
3.6.4 貨幣格式 140
3.6.5 使用百分比格式 140
3.6.6 指定精度 140
3.6.7 四捨五入 140
3.6.8 對整數值使用
前導零 141
教程3-3:創建具有貨幣格式化
功能的 Sale Price Calculator
應用程式 141
3.6.9 思考題 145
3.7 簡單的異常處理 145
3.7.1 處理異常 146
3.7.2 顯示異常的默認錯誤
訊息 149
教程3-4:創建包含異常處理
機制的 Test Average套用
程式 150
3.7.3 思考題 154
3.8 使用命名常量 154
3.9 聲明變數為欄位 155
3.9.1 在窗體類中欄位的
生存周期 158
3.9.2 慎用欄位 158
3.9.3 常量欄位 159
教程3-5:創建Change Counter
應用程式 159
3.9.4 思考題 163
3.10 使用Math類 164
3.10.1 Math.PI和Math.E
命名常量 165
3.10.2 思考題 165
3.11 圖形用戶界面詳解 165
3.11.1 控制窗體的Tab鍵
順序 165
3.11.2 使用Focus方法
改變焦點 167
3.11.3 將鍵盤訪問鍵
分配給按鈕 168
3.11.4 BackColor屬性 169
3.11.5 ForeColor屬性 170
3.11.6 使用代碼設定
顏色 170
3.11.7 窗體的背景圖像 171
3.11.8 使用GroupBox和
Panel來組織控制項 172
3.12 使用調試器定位邏輯錯誤 174
教程3-6:在運行時單步執行套用
程式代碼 175
思考題 178
本章重點辭彙(中英文對照) 179
複習和練習 180
編程挑戰 182
第4章 條件選擇 187
4.1 決策結構和if語句 187
4.1.1 布爾表達式和關係
運算符 189
4.1.2 綜合套用 190
教程4-1:完成Test Score Average
應用程式 191
4.1.3 思考題 195
4.2 if-else語句 195
教程4-2:完成Payroll with
Overtime應用程式 197
思考題 201
4.3 嵌套決策結構 201
教程4-3:完成Loan Qualifier
應用程式 203
4.3.1 嵌套決策結構中的
縮進和對齊 207
4.3.2 測試一系列條件 207
4.3.3 if-else-if語句 210
4.3.4 思考題 212
4.4 邏輯運算符 213
4.4.1 &&運算符 213
4.4.2 ||運算符 214
4.4.3 短路評估 214
4.4.4 !運算符 215
4.4.5 邏輯運算符的
優先權 215
4.4.6 使用邏輯運算符檢查
數字範圍 216
4.4.7 思考題 217
4.5 bool變數和標記 218
思考題 219
4.6 比較字元串 219
4.6.1 其他字元串比較 221
4.6.2 思考題 223
4.7 使用TryParse方法防止
數據轉換異常 223
4.7.1 驗證多個文本框中的
數據 226
教程4-4:計算燃油經濟性 228
4.7.2 思考題 231
4.8 輸入驗證 231
4.9 單選按鈕和複選框 233
4.9.1 單選按鈕 233
4.9.2 複選框 236
4.9.3 CheckedChanged
事件 237
教程4-5:創建Color Theme套用
程式 238
4.9.4 思考題 241
4.10 switch語句 241
思考題 243
4.11 列表框介紹 244
4.11.1 SelectedItem屬性 245
4.11.2 確定是否選中一個
項目 245
教程4-6:創建Time Zone套用
程式 246
4.11.3 思考題 249
本章重點辭彙(中英文對照) 249
複習和練習 250
編程挑戰 253
第5章 循環、檔案和隨機數 258
5.1 列表框詳解 258
5.1.1 Items.Count屬性 259
5.1.2 Items.Clear方法 260
5.1.3 思考題 260
5.2 while循環 260
5.2.1 while循環是一個預
測試循環 263
5.2.2 計數器變數 263
教程5-1:使用循環計算賬戶
餘額 264
教程5-2:改進Ending Balance
應用程式 267
5.2.3 無限循環 270
5.2.4 思考題 271
5.3 遞增和遞減運算符 271
思考題 272
5.4 for循環 273
5.4.1 for循環是一個預測試
循環 276
5.4.2 在初始化表達式中
聲明計數器變數 276
5.4.3 其他形式的更新
表達式 276
5.4.4 通過遞減來倒數
計數器變數 277
5.4.5 避免修改for循環體
中的計數器變數 277
教程5-3:使用for循環 277
5.4.6 思考題 280
5.5 do-while循環 281
思考題 282
5.6 使用檔案存儲數據 282
5.6.1 檔案類型 284
5.6.2 檔案訪問方法 284
5.6.3 檔案名稱和檔案流對象 285
5.6.4 使用StreamWriter
對象將數據寫入檔案 286
5.6.5 使用write方法寫入
數據 287
5.6.6 處理與檔案相關的
異常 288
教程5-4:將數據寫入到文本
檔案 288
5.6.7 將數字數據寫入文本
檔案 292
5.6.8 將數據追加到現有
檔案 293
教程5-5:追加數據到Friend.txt
檔案 294
5.6.9 指定輸出檔案的
位置 296
5.6.10 使用StreamReader
對象從檔案中讀取
數據 296
5.6.11 讀取位置 298
5.6.12 從文本檔案讀取數字
數據 299
5.6.13 使用循環讀取檔案
並檢測檔案的結尾 301
教程5-6:使用循環讀取到
檔案末尾 302
5.6.14 累計匯總 305
教程5-7:累計匯總 306
5.6.15 思考題 309
5.7 使用OpenFileDialog和
SaveFileDialog控制項 310
5.7.1 使用OpenFileDialog
控制項 310
5.7.2 使用SaveFileDialog
控制項 313
5.7.3 思考題 315
5.8 隨機數 315
5.8.1 Next方法 316
5.8.2 NextDouble方法 317
教程5-8:模擬拋擲硬幣 317
5.8.3 隨機數種子 320
5.8.4 思考題 321
5.9 Load事件 321
教程5-9:創建一個Load事件
處理程式 321
思考題 324
本章重點辭彙(中英文對照) 324
複習和練習 325
編程挑戰 327
第6章 使用方法實現代碼模組化 331
6.1 方法入門 331
6.2 void方法 333
6.2.1 方法頭 333
6.2.2 方法體 334
6.2.3 在類中聲明方法 334
6.2.4 調用方法 335
教程6-1:創建並調用方法 337
6.2.5 自上而下的設計 340
6.2.6 思考題 341
6.3 將實參傳遞給方法 341
教程6-2:傳遞實參給方法 344
6.3.1 實參和形參的數據
類型兼容性 348
6.3.2 形參變數的作用域 348
6.3.3 傳遞多個實參 348
6.3.4 命名實參 350
6.3.5 默認實參 350
6.3.6 通過值傳遞實參 351
6.3.7 思考題 352
6.4 通過引用傳遞實參 353
6.4.1 使用引用形參 353
6.4.2 使用輸出形參 355
教程6-3:使用輸出形參 356
6.4.3 思考題 360
6.5 返回值方法 361
6.5.1 編寫自己的返回值
函式 361
教程6-4:編寫返回值的方法 365
6.5.2 布爾方法 368
6.5.3 使用布爾方法實現
輸入驗證的模組化 369
教程6-5:使用布爾方法實現輸入
驗證的模組化 369
6.5.4 從方法返回一個
字元串 372
6.5.5 思考題 374
6.6 調試方法 374
教程6-6:練習使用“逐語句”
命令 375
教程6-7:連續使用“逐過程”
命令 376
教程6-8:練習使用“跳出”
命令 377
本章重點辭彙(中英文對照) 378
複習和練習 378
編程挑戰 380
第7章 數組和List 385
7.1 值類型和引用類型 385
思考題 387
7.2 數組基礎知識 387
7.2.1 數組元素和下標 389
7.2.2 數組元素默認值 390
7.2.3 使用數組元素 390
7.2.4 數組初始化 392
7.2.5 使用循環遍歷數組 393
7.2.6 無效的下標 394
7.2.7 Length屬性 394
教程7-1:使用數組保存隨機生成
的彩票號碼清單 395
7.2.8 注意大小差一錯誤 397
7.2.9 使用數組的foreach
循環 397
7.2.10 重新給數組引用
變數賦值 399
7.2.11 思考題 400
7.3 使用檔案和數組 400
7.3.1 將數組的內容寫入
檔案 400
7.3.2 從檔案中讀取值並將
其存儲到數組中 402
7.4 將數組作為實參傳遞給
方法 403
7.4.1 在數組形參中使用ref
和out關鍵字 406
7.4.2 思考題 410
7.5 實用數組算法 411
7.5.1 順序搜尋 411
7.5.2 複製數組 413
7.5.3 比較數組 414
7.5.4 計算數組中值的
總和 416
7.5.5 計算數組中值的
平均值 416
7.5.6 查找數組中的最高值
和最低值 417
7.5.7 部分填充的數組 419
教程7-2:處理數組數據 422
7.6 排序和搜尋數組的高級
算法 427
7.6.1 選擇排序算法 427
7.6.2 二分搜尋算法 432
7.6.3 思考題 434
7.7 二維數組 435
7.7.1 聲明一個二維數組 436
7.7.2 訪問二維數組中的
元素 437
7.7.3 隱式聲明二維數組的
大小和初始化 437
教程7-3:完成Seating Chart
應用程式 438
7.7.4 計算二維數組的所有
元素之和 442
7.7.5 計算二維數組各行
之和 442
7.7.6 計算二維數組各列
之和 443
7.7.7 思考題 444
7.8 交錯數組 444
思考題 446
7.9 List集合 446
7.9.1 創建List對象 446
7.9.2 初始化List 447
7.9.3 將項目添加到List 447
7.9.4 Count屬性 447
7.9.5 訪問List中的項目 448
7.9.6 將List傳遞給方法 448
7.9.7 從List中刪除項目 449
7.9.8 在List中插入項目 450
7.9.9 搜尋List中的項目 451
教程7-4:完成Test Score List
應用程式 452
7.9.10 思考題 457
本章重點辭彙(中英文對照) 458
複習和練習 458
編程挑戰 460
第8章 數據處理詳解 464
8.1 本章內容簡介 464
8.2 字元串和字元處理 464
8.2.1 char數據類型 464
8.2.2 檢索字元串中的單個
字元 465
8.2.3 字元測試和轉換
方法 466
教程8-1:完成Password Validation
應用程式 470
8.2.4 字元大小寫轉換 474
8.2.5 搜尋子字元串 475
8.2.6 修改字元串的方法 482
教程8-2:完成Telephone Format
應用程式 484
教程8-3:完成Telephone Unformat
應用程式 488
8.2.7 拆分字元串 492
教程8-4:完成CSV Reader套用
程式 495
8.2.8 思考題 499
8.3 結構 500
8.3.1 使用new運算符來
創建結構實例 503
8.3.2 訪問結構的欄位 503
8.3.3 將一個結構對象賦值
給另一個結構對象 504
8.3.4 將結構對象傳遞給
方法 504
8.3.5 比較結構對象 505
8.3.6 結構對象數組 506
8.3.7 在List中存儲結構
對象 506
教程8-5:完成Phonebook套用
程式 511
8.3.8 思考題 517
8.4 枚舉類型 517
8.4.1 使用枚舉量或enum
變數的ToString方法 520
教程8-6:完成Color Spectrum
應用程式 520
8.4.2 獲取枚舉量或enum
變數的整數值 523
8.4.3 為枚舉量指定整
數值 523
8.4.4 比較枚舉量和enum
變數 523
8.4.5 使用enum變數遍歷
數組的元素 524
8.4.6 思考題 525
8.5 ImageList控制項 525
教程8-7:完成Random Card
應用程式 527
思考題 529
本章重點辭彙(中英文對照) 530
複習和練習 530
編程挑戰 533
第9章 類和多窗體項目 537
9.1 關於類 537
9.1.1 創建一個類 538
9.1.2 創建一個對象 540
9.1.3 編寫類聲明的位置 541
教程9-1:創建和使用Coin類 544
9.1.4 將對象傳遞給方法 548
9.1.5 思考題 549
9.2 屬性 549
9.2.1 屬性與公共欄位 552
9.2.2 將屬性作為實參傳遞 553
教程9-2:創建和使用CellPhone
類 553
9.2.3 唯讀屬性 558
9.2.4 避免陳舊的數據 558
9.2.5 自動屬性 559
9.2.6 唯讀自動屬性 560
9.2.7 思考題 560
9.3 帶形參的構造函式和重載 561
教程9-3:創建和使用
BankAccount類 561
9.3.1 重載的方法 566
9.3.2 重載的構造函式 567
9.3.3 默認構造函式 568
9.3.4 思考題 568
9.4 在數組和List中存儲類
類型對象 568
9.4.1 類類型對象的數組 568
9.4.2 類類型對象的List 569
教程9-4:完成Cell Phone
Inventory應用程式 570
9.4.3 思考題 574
9.5 尋找問題中的類及其責任 574
9.5.1 編寫問題領域的
說明 574
9.5.2 識別所有的名詞 575
9.5.3 修改名詞列表 576
9.5.4 確定類的責任 579
9.5.5 這僅僅是個開始 583
9.5.6 思考題 584
9.6 在項目中創建多個窗體 584
9.6.1 重命名Form1窗體 584
9.6.2 將新窗體添加到
項目 586
9.6.3 在窗體和窗體代碼
之間切換 587
9.6.4 刪除窗體 587
9.6.5 顯示窗體 588
教程9-5:創建包含兩個窗體的
應用程式 589
9.6.6 模式窗體和無模式
窗體 592
9.6.7 訪問不同窗體上的
控制項 593
教程9-6:訪問不同窗體上的
控制項 594
9.6.8 思考題 598
本章重點辭彙(中英文對照) 598
複習和練習 599
編程挑戰 602
第10章 繼承和多態 605
10.1 繼承 605
10.1.1 普遍性和特殊性 605
10.1.2 繼承與Is-a關係 605
教程10-1:創建並測試
SavingsAccount 和
CDAccount類 616
10.1.3 基類和派生類構造
函式 622
10.1.4 繼承中的構造函式
問題總結 624
10.1.5 思考題 624
10.2 多態 624
10.2.1 覆蓋屬性 628
10.2.2 基類引用變數只
知道基類成員 629
10.2.3 Is-a關係不能
反向工作 629
10.2.4 傳遞對象給基類
形參 629
教程10-2:完成Polymorphism
應用程式 630
10.2.5 思考題 635
10.3 抽象類 636
教程10-3:完成Computer Science
Student應用程式 637
思考題 642
本章重點辭彙(中英文對照) 642
複習和練習 643
編程挑戰 645
第11章 資料庫 647
11.1 資料庫管理系統簡介 647
11.1.1 SQL Server Express
Edition 648
11.1.2 思考題 648
11.2 表、行和列 648
11.2.1 列數據類型 649
11.2.2 主鍵 650
11.2.3 標識列 650
11.2.4 允許Null值 650
11.2.5 思考題 651
11.3 在Visual Studio中創建一個
資料庫 651
11.3.1 將應用程式連線到
資料庫 651
教程11-1:啟動Phone Book套用
程式並創建Phonelist.mdf
資料庫 652
11.3.2 資料庫檔案的位置 659
11.3.3 思考題 659
11.4 DataGridView控制項 660
教程11-2:完成Phone Book套用
程式 660
11.4.1 自動生成的代碼 664
11.4.2 思考題 665
11.5 連線到現有資料庫並使用
“詳細信息”視圖控制項 666
教程11-3:創建Products套用
程式並使用“詳細信息”
視圖 667
11.5.1 運行時的資料庫
副本 674
11.5.2 思考題 674
11.6 數據綁定控制項詳解 674
11.6.1 自定義DataGridView
控制項 674
11.6.2 自定義“詳細信息”
視圖 676
11.6.3 將列綁定到列表框
控制項 677
教程11-4:創建Product Lookup
應用程式 678
11.6.4 在多個窗體上有
數據綁定控制項 680
教程11-5:創建Multiform Products
應用程式 680
11.6.5 思考題 686
11.7 使用SQL Select語句選擇
數據 686
11.7.1 使用Where子句
指定搜尋條件 687
11.7.2 使用Like運算符 688
11.7.3 使用And和Or 689
11.7.4 對Select查詢的
結果進行排序 690
11.7.5 TableAdapter查詢 690
11.7.6 添加新的
TableAdapter查詢 693
教程11-6:創建Product Queries
應用程式 693
11.7.7 SQL數學函式 701
教程11-7:創建Product Queries
應用程式 701
11.7.8 查詢形參 705
教程11-8:創建Product Search
應用程式 705
11.7.9 思考題 710
本章重點辭彙(中英文對照) 710
複習和練習 711
編程挑戰 714
附錄A C#基本數據類型 716
附錄B 用戶界面控制項詳解 717
附錄C ASCII/Unicode字元 737
附錄D 思考題答案 738