第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