內容簡介
本書引導使用C/C++、VB的程式設計師或者類似語言的開發者迅速轉向C#,使用C# 高效地開發基於微軟 .NET 網路框架(平台)的各種應用程式。全書分4篇17章。程式基礎篇(第1~4章)以控制台應用程式為主,介紹變數、常數基本數據類型的使用、流程控制的條件選擇和循環以及數組和字元串等。對象使用篇(第5~9章)以面向對象為基礎來探討類和對象,提供對象“生命周期”的構造函式;探討面向對象程式設計的三大特性,即繼承、封裝和多態;了解集合的特性等。視窗接口篇(第10~14章)以Windows Form為主,使用工具箱加入控制項,包括顯示信息的控制項、文字編輯控制項、具有選擇功能的控制項、提供互動的控制項,以及鍵盤和滑鼠事件的處理等內容。套用篇(第15~17章)介紹ADO.NET組件、LINQ語言的套用以及簡易方塊遊戲的製作。
目錄結構
第1篇程式基礎
第1章歡迎來到C#的世界1
1.1從.NETFramework說起2
1.1.1公共語言運行庫2
1.1.2.NETFramework類庫3
1.1.3程式的編譯3
1.2認識VisualStudio20133
1.2.1VisualStudio2013的版本4
1.2.2啟動軟體並創建項目4
1.2.3“解決方案資源管理器”視窗7
1.2.4項目的打開和關閉9
1.2.5操作環境的設定10
1.3控制台應用程式12
1.3.1認識C#語言12
1.3.2程式語句12
1.3.3認識命名空間13
1.3.4編寫程式代碼14
1.3.5為程式代碼加注釋15
1.3.6讓程式適時縮排16
1.3.7善用IntelliSense17
1.3.8創建並運行程式18
1.4重點整理18
1.5課後習題19
第2章數據與變數21
2.1什麼是通用類型系統22
2.1.1整數類型22
2.1.2浮點類型和貨幣23
2.1.3其他數據類型23
2.2變數和常數24
2.2.1標識符的命名規則24
2.2.2關鍵字24
2.2.3聲明變數25
2.2.4常數27
2.2.5枚舉類型29
2.3控制台應用程式的輸入輸出語句31
2.3.1讀取數據31
2.3.2輸出數據32
2.3.3格式化輸出33
2.4類型轉換34
2.4.1隱式類型轉換35
2.4.2顯式類型轉換36
2.4.3用戶自定義類型——結構38
2.5運算符40
2.5.1算術運算符40
2.5.2賦值運算符40
2.5.3關係運算符41
2.5.4邏輯運算符41
2.5.5運算符的優先權42
2.6重點整理42
2.7課後習題43
第3章流程控制46
3.1認識結構化程式47
3.2條件選擇47
3.2.1單一選擇48
3.2.2雙重選擇50
3.2.3嵌套if52
3.2.4多重條件55
3.3循環59
3.3.1for循環59
3.3.2while循環62
3.3.3do/while循環64
3.3.4嵌套for66
3.3.5其他語句67
3.4重點整理68
3.5課後習題69
第4章數組和字元串73
4.1數組74
4.1.1一維數組的聲明74
4.1.2數組元素的存取76
4.1.3數組的屬性和方法77
4.2使用多維數組81
4.2.1創建二維數組81
4.2.2二維數組初始化82
4.2.3不規則數組84
4.2.4隱式類型數組86
4.3字元和字元串87
4.3.1轉義字元87
4.3.2創建字元串88
4.3.3字元串常用方法89
4.3.4使用StringBuilder類93
4.4重點整理96
4.5課後習題97
第2篇對象使用
第5章對象和類101
5.1面向對象的基礎102
5.1.1認識對象102
5.1.2提供藍圖的類102
5.1.3抽象化概念103
5.2使用類104
5.2.1定義類104
5.2.2實例化對象105
5.2.3訪問許可權106
5.2.4定義方法成員107
5.2.5類屬性和存取器109
5.3對象旅程113
5.3.1產生構造函式114
5.3.2析構函式回收資源115
5.3.3使用默認構造函式116
5.3.4構造函式的重載118
5.3.5對象的初始設定119
5.4靜態類121
5.4.1認識靜態類成員121
5.4.2靜態屬性121
5.4.3靜態類方法122
5.4.4靜態構造函式124
5.5重點整理126
5.6課後習題127
第6章方法和傳遞機制130
6.1方法是什麼131
6.1.1系統內建的方法131
6.1.2方法的聲明133
6.2參數的傳遞機制137
6.2.1傳值調用137
6.2.2傳址調用139
6.3方法的傳遞對象141
6.3.1以對象為傳遞目標141
6.3.2參數params142
6.3.3關鍵字ref和out的不同143
6.3.4更具彈性的命名參數145
6.3.5能選擇的選擇性參數146
6.4方法的重載147
6.5了解變數的作用域149
6.6重點整理151
6.7課後習題152
第7章繼承、多態和接口155
7.1了解繼承156
7.1.1特化和泛化156
7.1.2組合關係157
7.1.3為什麼要有繼承機制157
7.2單一繼承機制157
7.2.1繼承的存取(或訪問)158
7.2.2訪問許可權修飾詞protected162
7.2.3調用基類成員165
7.2.4隱藏基類成員170
7.3探討多態174
7.3.1父、子類產生方法重載174
7.3.2覆蓋基類175
7.3.3實現多態177
7.4接口和抽象類181
7.4.1定義抽象類181
7.4.2認識密封類184
7.4.3接口的聲明184
7.4.4如何實現接口186
7.4.5實現多個接口188
7.4.6接口實現多態190
7.5重點整理192
7.6課後習題193
第8章泛型和集合196
8.1淺談集合197
8.1.1認識索引鍵/值197
8.1.2使用下標204
8.1.3順序訪問集合206
8.2創建泛型208
8.2.1為什麼使用泛型208
8.2.2定義泛型210
8.2.3產生泛型方法210
8.3委託212
8.4重點整理215
8.5課後習題216
第9章錯誤和異常處理218
9.1VisualStudio調試環境219
9.1.1錯誤列表視窗219
9.1.2如何調試220
9.1.3進入調試程式223
9.1.4加入斷點225
9.2常見的錯誤228
9.2.1語法錯誤228
9.2.2邏輯錯誤229
9.3異常情況的處理230
9.3.1認識Exception類230
9.3.2簡易的異常處理231
9.3.3Finally程式塊233
9.3.4使用throw拋出錯誤235
9.4重點整理236
9.5課後習題237
第3篇視窗接口
第10章視窗窗體的運行239
10.1Windows窗體的基本操作240
10.1.1創建Windows窗體項目240
10.1.2Windows窗體的工作環境241
10.1.3創建用戶界面245
10.1.4編寫程式代碼250
10.1.5程式存儲的位置253
10.2Windows窗體的運行254
10.2.1部分類是什麼254
10.2.2Main()主程式在哪裡255
10.2.3訊息循環256
10.2.4在程式中設定屬性257
10.3使用窗體260
10.3.1窗體的屬性和方法260
10.3.2窗體的事件262
10.4MessageBox類265
10.4.1顯示訊息265
10.4.2按鈕的枚舉成員265
10.4.3圖示的枚舉成員266
10.4.4DialogResult如何接收266
10.5重點整理270
10.6課後習題271
第11章公共控制項274
11.1顯示信息275
11.1.1標籤控制項275
11.1.2超連結控制項280
11.1.3進度條控制項285
11.1.4狀態欄和面板285
11.1.5計時的Timer控制項287
11.1.6窗體上控制項的順序290
11.2文字編輯292
11.2.1TextBox控制項292
11.2.2RichTextBox控制項299
11.2.3MaskedTextBox控制項307
11.3與日期有關的控制項308
11.3.1MonthCalendar控制項308
11.3.2DateTimePicker控制項314
11.4具有選擇功能的控制項316
11.4.1單選按鈕316
11.4.2複選框321
11.4.3下拉列表框321
11.4.4列表框327
11.4.5CheckedListBox控制項328
11.5重點整理331
11.6課後習題332
第12章提供互動的控制項337
12.1檔案對話框338
12.1.1OpenFileDialog控制項338
12.1.2SaveFileDialog控制項340
12.1.3FolderBrowserDialog控制項344
12.2設定字型與顏色348
12.2.1FontDialog控制項349
12.2.2ColorDialog控制項349
12.3支持列印的組件353
12.3.1PrintDocument控制項353
12.3.2PrintDialog控制項358
12.3.3PrintPreviewDialog控制項359
12.3.4PageSetupDialog控制項363
12.4選單364
12.4.1MenuStrip控制項365
12.4.2ContextMenu控制項376
12.4.3ToolStrip控制項378
12.5重點整理380
12.6課後習題381
第13章多文檔界面和版面布局385
13.1多文檔界面386
13.1.1認識多文檔界面386
13.1.2MDI窗體的成員388
13.1.3窗體的排列389
13.2版面布局390
13.2.1FlowLayoutPanel控制項390
13.2.2TableLayoutPanel控制項392
13.2.3SplitContainer控制項395
13.3具有查看功能的控制項395
13.3.1ImageList控制項395
13.3.2ListView控制項400
13.3.3TreeView控制項410
13.4鍵盤和滑鼠事件415
13.4.1認識鍵盤事件415
13.4.2KeyDown和KeyUp事件415
13.4.3KeyPress事件419
13.4.4認識滑鼠事件420
13.4.5獲取滑鼠信息421
13.4.6滑鼠的拖曳功能423
13.5重點整理426
13.6課後習題427
第14章I/O與數據流處理431
14.1數據流與System.IO432
14.2檔案與數據流432
14.2.1檔案目錄433
14.2.2檔案信息438
14.2.3使用File靜態類441
14.3標準數據流445
14.3.1FileStream類446
14.3.2StreamWriter寫入器449
14.3.3StreamReader讀取器449
14.4重點整理452
14.5課後習題452
第4篇套用
第15章ADO.NET組件455
15.1資料庫基礎456
15.1.1資料庫系統456
15.1.2認識關係資料庫457
15.2認識ADO.NET457
15.2.1System.Data命名空間457
15.2.2ADO.NET架構458
15.3獲取數據源459
15.3.1生成DataSet459
15.3.2查看數據源視窗464
15.3.3DataGirdView控制項465
15.4簡易SQL語句470
15.4.1使用查詢生成器470
15.4.2SELECT子句478
15.4.3WHERE子句478
15.4.4動態查詢479
15.5用程式代碼來提取、存入數據481
15.5.1導入相關命名空間481
15.5.2用Connection對象連線資料庫482
15.5.3用Command對象執行SQL語句483
15.5.4DataReader顯示內容484
15.5.5DataAdapter載入數據486
15.6重點整理488
15.7課後習題490
第16章語言集成查詢——LINQ494
16.1LINQ簡介495
16.2基本的LINQ語法495
16.2.1獲取數據源495
16.2.2創建查詢496
16.2.3執行查詢496
16.2.4配合orderby和group子句498
16.3LINQ的套用500
16.3.1LINQtoObject500
16.3.2LINQtoSQL502
16.4重點整理507
16.5課後習題508
第17章簡易方塊遊戲510
17.1圖形設備接口511
17.1.1窗體的坐標系統511
17.1.2產生畫布512
17.2繪製圖形513
17.2.1認識Graphics類513
17.2.2配合畫筆繪製線條、幾何圖形514
17.2.3繪製字型516
17.2.4Color結構518
17.3簡易方塊遊戲519
17.3.1遊戲界面說明520
17.3.2方塊的版面521
17.3.3方塊的組成和移動521
17.3.4簡易方塊遊戲相關信息523