圖書簡介
本書是關於C#語言程式設計的基礎教科書,深入組棄台講解了C#的語法和類型系統、面向對象程式設計(包括對象、接口、繼承和多態性)、泛型程式設計(包括泛型類型、可空類型、泛型方法和匿名方法),以及商業套用開發的基礎知識(包括異常處理、檔案操作和多執行緒)。
目錄
第1章緒論 1
1.1Microsoft.NET技術 1
1.2.NETFramework 2
1.2.1公共語言運行時 3
1.2.2.NET類庫 3
1.3C#語言簡介 4
1.4第一個C#應用程式 5
1.5C#程式的基本結構 7
1.5.1類型和方法 7
1.5.2命名空間 7
1.5.3程式注釋 8
1.5.4程式集 9
1.6與用戶進行互動 11
1.6.1給程式傳遞參數 11
1.6.2控制台互動 12
1.6.3Windows窗體妹提拒應用程式 14
本章小結 16
習煮船巴乃題1 17
第2章C#數據類型 18
2.1值類型 18
2.1.1整數類型 18
2.1.2字元類型 20
2.1.3實數類型 21
2.1.4布爾類型 23
2.1.5結構 23
2.1.6枚舉 25
2.2引用類型 26
2.2.1類 26
2.2.2接口 29
2.2.3委託 32
2.2.4數組 34
2.3類型轉換 37
2.3.1數值轉換 38
2.3.2枚舉轉換 40
2.3.3引用轉換 41
2.3.4裝箱和拆箱轉換 43
本章小結 45
習題2 45
第3章值和方法 47
3.1常量和變數 47
3.1.1常量 47
3.1.2變數 47
3.2欄位 50
3.2.1實例欄位 50
3.2.2靜講立肯凳態欄位 52
3.2.3常數和唯讀欄位 55
3.3方法 57
3.3.1方法的定義和調用 57
3.3.2參數享捆類型 60
3.3.3方法的標識與重載 65
3.3.4可選參數和命名參數 66
3.3.5實例方法和靜態方法 69
3.4成員訪問限制 70
本章小結 73
習題3 73
第4章操作符和表達式 76
4.1操作符 76
4.2算術表達式 77
4.2.1基本算術運算 78
4.2.2字元串相加 80
4.2.3委託加減 80
4.3自增和自減表達式 82
4.4位運算表達式 82
4.4.1取補運算 83
4.4.2與、或、異或運算 84
4.4.3移位運算 85
4.5賦值表達式 86
4.6.1比較運算 87
4.6.2類型判斷 89
4.7條件邏輯表達式 90
4.8其他特殊表達式 91
4.8.1一元加減表達式 91
4.8.2條件表達式 92
4.8.3類型轉換表達式 93
4.8.4創建表達式 93
4.8.5溢出檢查表達式 95
本章小結 96
習題4 96
第5章流程控制 98
5.1選擇結構 98
5.1.1if語句 98
5.1.2switch語句 101
5.2循環結構 103
5.2.1while循環語句 103
5.2.2do-while循環語句 104
5.2.3for循環語句 106
5.2.4foreach循環語句 109
5.3跳轉結構 112
5.3.1break語句 112
5.3.2continue語句 113
5.3.3return語句 114
5.3.4goto語句 115
本章小結 116
習題5 117
第6章深入理解類 119
6.1面向對象的方法學 119
6.2構造函式和析構函式 120
6.2.1構造函式 120
6.2.2析構函式 123
6.2.3靜態構造函式 123
6.3屬性 124
6.4索引函式 129
6.5事件 132
6.5.1事件發布與訂閱 132
6.5.2使用EventHandler類型 137
6.5.3Windows控制項事件 137
6.7this關鍵字 143
本章小結 145
習題6 146
第7章繼承和多態性 148
7.1繼承 148
7.1.1基類和派生類 148
7.1.2隱藏基類成員 151
7.1.3base關鍵字滲朵元 152
7.1.4對象生命周期 153
7.2多態性 154
7.2.1成員的虛擬和重載 155
7.2.2抽象類和抽象方法 160
7.2.3密封類和密封方法 163
7.3接口與繼承 167
7.3.1接口和抽象類 167
7.3.2接口方法的實現 167
7.3.3基於接口的多繼承 172
7.4擴展方法 176
本章小結 179
習漿民循題7 179
第8章常用類型 181
8.1Math類 181
8.2字元串類型 182
8.2.1構造和比較 182
8.2.2字元操作 184
8.2.3子串操作 186
8.2.4格式化與解析 188
8.2.5使用StringBuilder類 191
8.3DateTime結構 193
8.4集合類型 194
8.4.1列表類ArrayList 194
8.4.2佇列類Queue 195
8.4.3堆疊類Stack 196
8.5Type類型 197
本章小結 200
習題8 200
第9章Windows窗體和控制項 201
9.1基礎類型 201
9.1.1坐標和尺寸 201
9.1.2顏色 202
9.1.3字型 202
9.2窗體和訊息框 202
9.2.1窗體類Form 202
9.2.2訊息框MessageBox 205
9.3常用控制項 206
9.3.1控制項基類Control 206
9.3.2容器控制項 207
9.3.3文本標籤和文本框 207
9.3.4按鈕、單選按鈕和複選框 208
9.3.5組合框和列表框 210
9.4窗體和控制項套用示例 211
9.4.1用戶登錄窗體 211
9.4.2用戶註冊窗體 212
本章小結 214
習題9 214
第10章泛型基礎 215
10.1為何使用泛型 215
10.2泛型的定義 217
10.2.1泛型二叉樹示例 217
10.2.2成員與類型參數 220
10.2.3泛型的靜態成員 222
10.3多參數泛型 223
10.3.1使用多個類型參數 223
10.3.2類型參數與標識 225
10.4類型限制 226
10.4.1主要限制 227
10.4.2次要限制 227
10.4.3構造函式限制 228
10.5泛型與繼承 230
10.5.1泛型繼承規則 230
10.5.2泛型二叉樹排序示例 233
本章小結 235
習題10 235
第11章元組和可空類型 237
11.1元組 237
11.1.1二元組 237
11.1.2多元組 238
11.1.3元組套用 239
11.2可空類型 243
11.2.1引入可空類型 243
11.2.2泛型結構Nullable 245
11.2.3可空類型轉換 247
11.2.4空值結合與操作提升 249
11.2.5可空布爾類型 250
本章小結 251
習題11 251
第12章深入泛型技術 253
12.1泛型方法 253
12.1.1泛型方法的定義和調用 253
12.1.2泛型方法標識 255
12.1.3泛型方法重載 257
12.1.4泛型擴展方法 261
12.2泛型接口 263
12.2.1泛型接口的定義與實現 263
12.2.2繼承中的唯一性 267
12.3泛型集合與循環遍歷 270
12.3.1泛型集合 270
12.3.2可遍歷類型 275
12.3.3遍歷器 279
12.3.4自我遍歷 284
本章小結 288
習題12 288
第13章匿名方法和Lambda表達式 291
13.1命名方法和匿名方法 291
13.3泛型委託與匿名方法 296
13.3.1使用泛型委託對象 296
13.3.2.NET類庫中的泛型委託 297
13.4外部變數 299
13.5深入了解Delegate類 302
13.6匿名方法套用示例——計算器程式 306
本章小結 309
習題13 309
第14章異常處理 312
14.1異常和異常處理 312
14.2C#中的異常處理結構 314
14.2.1try-catch結構 314
14.2.2try-catch-finally結構 315
14.2.3try-finally結構 318
14.3異常的傳播與處理 318
14.3.1異常傳播 318
14.3.2Exception類 320
14.3.3常見異常類型 322
14.4主動引發異常 324
14.4.1throw語句 324
14.4.2自定義異常 327
14.5使用異常的原則和技巧 331
本章小結 332
習題14 332
第15章檔案IO操作 334
15.1檔案系統概述 334
15.2驅動器、目錄和檔案 335
15.2.1與IO操作相關的枚舉 335
15.2.2驅動器 335
15.2.3目錄 338
15.2.4檔案 341
15.3檔案流和數據流 343
15.3.1抽象類Stream 343
15.3.2檔案流FileStream 345
15.3.3流的文本讀寫器 346
15.3.4流的二進制讀寫器 349
15.3.5常用的其他流對象 350
15.4檔案對話框 352
15.5對象數據存取 354
本章小結 358
習題15 359
第16章進程和執行緒 360
16.1進程 360
16.2執行緒 365
16.2.1使用多執行緒 365
16.2.2執行緒對象及其狀態 369
16.2.3執行緒同步 371
16.2.4異步回調 377
本章小結 380
習題16 380
第17章ASP.NET套用開發 383
17.1在VisualStudio中創建ASP.NET應用程式 383
17.2Web程式基本對象 385
17.2.3HTTP應用程式及狀態 392
17.2.4會話、視圖、快取和Cookies 393
17.3.1WebControl和Control類 397
17.3.2文本、文本框和按鈕 397
17.3.3單選按鈕和複選框 398
17.3.4下拉框、列表框和列表項 399
17.3.5表格控制項 400
17.3.6檔案上傳控制項 402
17.4Web應用程式示例——
列車時刻表查詢 404
習題17 409
第18章代碼組織與管理 410
18.1分部類型 410
18.2代碼中的預處理器指令 412
18.2.1條件編譯 412
18.2.2編譯警告和錯誤 416
18.2.3其他預處理器指令 416
18.3XML代碼注釋 417
本章小結 420
習題18 421
參考文獻 422
3.4成員訪問限制 70
本章小結 73
習題3 73
第4章操作符和表達式 76
4.1操作符 76
4.2算術表達式 77
4.2.1基本算術運算 78
4.2.2字元串相加 80
4.2.3委託加減 80
4.3自增和自減表達式 82
4.4位運算表達式 82
4.4.1取補運算 83
4.4.2與、或、異或運算 84
4.4.3移位運算 85
4.5賦值表達式 86
4.6.1比較運算 87
4.6.2類型判斷 89
4.7條件邏輯表達式 90
4.8其他特殊表達式 91
4.8.1一元加減表達式 91
4.8.2條件表達式 92
4.8.3類型轉換表達式 93
4.8.4創建表達式 93
4.8.5溢出檢查表達式 95
本章小結 96
習題4 96
第5章流程控制 98
5.1選擇結構 98
5.1.1if語句 98
5.1.2switch語句 101
5.2循環結構 103
5.2.1while循環語句 103
5.2.2do-while循環語句 104
5.2.3for循環語句 106
5.2.4foreach循環語句 109
5.3跳轉結構 112
5.3.1break語句 112
5.3.2continue語句 113
5.3.3return語句 114
5.3.4goto語句 115
本章小結 116
習題5 117
第6章深入理解類 119
6.1面向對象的方法學 119
6.2構造函式和析構函式 120
6.2.1構造函式 120
6.2.2析構函式 123
6.2.3靜態構造函式 123
6.3屬性 124
6.4索引函式 129
6.5事件 132
6.5.1事件發布與訂閱 132
6.5.2使用EventHandler類型 137
6.5.3Windows控制項事件 137
6.7this關鍵字 143
本章小結 145
習題6 146
第7章繼承和多態性 148
7.1繼承 148
7.1.1基類和派生類 148
7.1.2隱藏基類成員 151
7.1.3base關鍵字 152
7.1.4對象生命周期 153
7.2多態性 154
7.2.1成員的虛擬和重載 155
7.2.2抽象類和抽象方法 160
7.2.3密封類和密封方法 163
7.3接口與繼承 167
7.3.1接口和抽象類 167
7.3.2接口方法的實現 167
7.3.3基於接口的多繼承 172
7.4擴展方法 176
本章小結 179
習題7 179
第8章常用類型 181
8.1Math類 181
8.2字元串類型 182
8.2.1構造和比較 182
8.2.2字元操作 184
8.2.3子串操作 186
8.2.4格式化與解析 188
8.2.5使用StringBuilder類 191
8.3DateTime結構 193
8.4集合類型 194
8.4.1列表類ArrayList 194
8.4.2佇列類Queue 195
8.4.3堆疊類Stack 196
8.5Type類型 197
本章小結 200
習題8 200
第9章Windows窗體和控制項 201
9.1基礎類型 201
9.1.1坐標和尺寸 201
9.1.2顏色 202
9.1.3字型 202
9.2窗體和訊息框 202
9.2.1窗體類Form 202
9.2.2訊息框MessageBox 205
9.3常用控制項 206
9.3.1控制項基類Control 206
9.3.2容器控制項 207
9.3.3文本標籤和文本框 207
9.3.4按鈕、單選按鈕和複選框 208
9.3.5組合框和列表框 210
9.4窗體和控制項套用示例 211
9.4.1用戶登錄窗體 211
9.4.2用戶註冊窗體 212
本章小結 214
習題9 214
第10章泛型基礎 215
10.1為何使用泛型 215
10.2泛型的定義 217
10.2.1泛型二叉樹示例 217
10.2.2成員與類型參數 220
10.2.3泛型的靜態成員 222
10.3多參數泛型 223
10.3.1使用多個類型參數 223
10.3.2類型參數與標識 225
10.4類型限制 226
10.4.1主要限制 227
10.4.2次要限制 227
10.4.3構造函式限制 228
10.5泛型與繼承 230
10.5.1泛型繼承規則 230
10.5.2泛型二叉樹排序示例 233
本章小結 235
習題10 235
第11章元組和可空類型 237
11.1元組 237
11.1.1二元組 237
11.1.2多元組 238
11.1.3元組套用 239
11.2可空類型 243
11.2.1引入可空類型 243
11.2.2泛型結構Nullable 245
11.2.3可空類型轉換 247
11.2.4空值結合與操作提升 249
11.2.5可空布爾類型 250
本章小結 251
習題11 251
第12章深入泛型技術 253
12.1泛型方法 253
12.1.1泛型方法的定義和調用 253
12.1.2泛型方法標識 255
12.1.3泛型方法重載 257
12.1.4泛型擴展方法 261
12.2泛型接口 263
12.2.1泛型接口的定義與實現 263
12.2.2繼承中的唯一性 267
12.3泛型集合與循環遍歷 270
12.3.1泛型集合 270
12.3.2可遍歷類型 275
12.3.3遍歷器 279
12.3.4自我遍歷 284
本章小結 288
習題12 288
第13章匿名方法和Lambda表達式 291
13.1命名方法和匿名方法 291
13.3泛型委託與匿名方法 296
13.3.1使用泛型委託對象 296
13.3.2.NET類庫中的泛型委託 297
13.4外部變數 299
13.5深入了解Delegate類 302
13.6匿名方法套用示例——計算器程式 306
本章小結 309
習題13 309
第14章異常處理 312
14.1異常和異常處理 312
14.2C#中的異常處理結構 314
14.2.1try-catch結構 314
14.2.2try-catch-finally結構 315
14.2.3try-finally結構 318
14.3異常的傳播與處理 318
14.3.1異常傳播 318
14.3.2Exception類 320
14.3.3常見異常類型 322
14.4主動引發異常 324
14.4.1throw語句 324
14.4.2自定義異常 327
14.5使用異常的原則和技巧 331
本章小結 332
習題14 332
第15章檔案IO操作 334
15.1檔案系統概述 334
15.2驅動器、目錄和檔案 335
15.2.1與IO操作相關的枚舉 335
15.2.2驅動器 335
15.2.3目錄 338
15.2.4檔案 341
15.3檔案流和數據流 343
15.3.1抽象類Stream 343
15.3.2檔案流FileStream 345
15.3.3流的文本讀寫器 346
15.3.4流的二進制讀寫器 349
15.3.5常用的其他流對象 350
15.4檔案對話框 352
15.5對象數據存取 354
本章小結 358
習題15 359
第16章進程和執行緒 360
16.1進程 360
16.2執行緒 365
16.2.1使用多執行緒 365
16.2.2執行緒對象及其狀態 369
16.2.3執行緒同步 371
16.2.4異步回調 377
本章小結 380
習題16 380
第17章ASP.NET套用開發 383
17.1在VisualStudio中創建ASP.NET應用程式 383
17.2Web程式基本對象 385
17.2.3HTTP應用程式及狀態 392
17.2.4會話、視圖、快取和Cookies 393
17.3.1WebControl和Control類 397
17.3.2文本、文本框和按鈕 397
17.3.3單選按鈕和複選框 398
17.3.4下拉框、列表框和列表項 399
17.3.5表格控制項 400
17.3.6檔案上傳控制項 402
17.4Web應用程式示例——
列車時刻表查詢 404
習題17 409
第18章代碼組織與管理 410
18.1分部類型 410
18.2代碼中的預處理器指令 412
18.2.1條件編譯 412
18.2.2編譯警告和錯誤 416
18.2.3其他預處理器指令 416
18.3XML代碼注釋 417
本章小結 420
習題18 421
參考文獻 422