第一篇 C#概述篇
第1章 C#入門 2
1.1 C#概述 2
1.1.1 C#的發展 2
1.1.2 C#開發的基礎 2
1.2 搭建開發環境 3
1.2.1 Visual Studio 2012軟硬件配置要求 3
1.2.2 下載Visual Studio 2012 3
1.2.3 安裝Visual Studio 2012 4
1.2.4 初始化配置 7
1.3 第一個程序——Hello World 8
1.4 小結 11
1.5 習題 12
第二篇 麵嚮對象基礎篇
第2章 類和對象 16
2.1 分析Hello World程序 16
2.2 語法規範 17
2.2.1 標識符 17
2.2.2 關鍵字 18
2.2.3 注釋 19
2.3 定義類 20
2.4 實例化對象 20
2.5 小結 20
2.6 習題 21
第3章 定義類——字段 23
3.1 數據類型 23
3.1.1 簡單值類型 23
3.1.2 值的錶示——字麵量 26
3.1.3 轉義序列 27
3.2 定義字段 27
3.2.1 定義字段 28
3.2.2 靜態字段和實例字段的訪問 28
3.2.3 字段初始化 29
3.2.4 字段的動態賦值——Read()和ReadLine() 31
3.2.5 字段輸齣 31
3.2.6 格式化輸齣 32
3.2.7 數據類型轉換 39
3.2.8 隻讀字段 41
3.2.9 訪問控製 41
3.3 運算符 43
3.3.1 算術運算符 43
3.3.2 自增、自減運算符 44
3.3.3 復閤賦值運算符 45
3.3.4 位運算符 46
3.3.5 sizeof運算符 47
3.3.6 運算符的優先級 47
3.4 小結 49
3.5 習題 49
第4章 定義類——方法 51
4.1 方法的概述 51
4.1.1 定義方法 51
4.1.2 方法的調用 52
4.2 方法體的構成 53
4.2.1 局部變量 53
4.2.2 局部變量與字段同名的解決——this關鍵字 54
4.2.3 語句 55
4.2.4 全局變量 55
4.3 返迴值 56
4.3.1 返迴值類型 56
4.3.2 從方法返迴 57
4.4 參數 58
4.4.1 參數的分類 58
4.4.2 引用參數(ref參數) 59
4.4.3 輸齣參數(out參數) 61
4.5 特殊的方法 62
4.5.1 Main()方法 62
4.5.2 構造函數 62
4.5.3 帶參數的構造函數 63
4.5.4 析構函數 64
4.6 小結 65
4.7 習題 65
第5章 流程控製 69
5.1 選擇執行——條件 70
5.1.1 條件真假——布爾類型的轉化 70
5.1.2 關係運算 71
5.1.3 邏輯運算 71
5.2 選擇語句 73
5.2.1 問號運算符 73
5.2.2 if語句 74
5.2.3 if…else語句 75
5.2.4 if…else…if語句 76
5.2.5 switch語句 77
5.3 循環語句 80
5.3.1 while語句 80
5.3.2 do…while語句 81
5.3.3 for語句 82
5.3.4 foreach語句 85
5.4 跳轉語句 85
5.4.1 break語句 85
5.4.2 continue語句 86
5.4.3 goto語句 86
5.5 小結 87
5.6 習題 87
第6章 數組 91
6.1 初識數組 91
6.2 基本數組 92
6.2.1 聲明數組 92
6.2.2 數組的初始化 92
6.2.3 數組引用 93
6.2.4 數組的賦值 94
6.2.5 遍曆數組 95
6.3 特殊數組 96
6.3.1 多維數組 96
6.3.2 交錯數組 100
6.4 對數組的使用 101
6.4.1 數組作為方法參數 102
6.4.2 類中的數組 105
6.5 對數組的操作 106
6.5.1 清空數組 106
6.5.2 創建數組副本 107
6.5.3 復製一部分元素給另一數組 107
6.5.4 將當前一維數組的所有元素賦值到指定的一維數組中 108
6.5.5 獲取某個元素的值 109
6.5.6 獲取元素的索引值 109
6.5.7 獲取某元素最後匹配項的索引 110
6.5.8 反轉一維數組中的元素順序 110
6.5.9 為數組中的某個元素重新賦值 111
6.5.10 對數組元素進行重新排序 112
6.6 小結 112
6.7 習題 113
第7章 繼承 115
7.1 C#的繼承機製 115
7.1.1 概述 115
7.1.2 初識繼承 116
7.2 訪問修飾符 118
7.3 成員繼承 121
7.3.1 使用繼承字段 121
7.3.2 使用方法 121
7.3.3 派生類直接訪問基類成員——base 122
7.3.4 繼承中的構造函數 123
7.4 多態 124
7.5 抽象 128
7.5.1 抽象類、抽象方法的聲明 129
7.5.2 抽象類的使用 129
7.5.3 抽象方法的使用 130
7.6 密封 132
7.6.1 密封類 132
7.6.2 密封方法 133
7.7 小結 134
7.8 習題 135
第8章 屬性 139
8.1 屬性初識 139
8.1.1 屬性聲明 139
8.1.2 屬性訪問 140
8.1.3 訪問器 141
8.1.4 屬性分類 145
8.2 屬性使用 146
8.2.1 屬性繼承 146
8.2.2 對訪問器使用訪問修飾符 148
8.2.3 自動實現屬性 149
8.2.4 對屬性使用對象初始化器 150
8.3 索引器 151
8.3.1 索引器的聲明 151
8.3.2 一維索引器的使用 152
8.3.3 重載索引器 153
8.3.4 比較屬性和索引器 153
8.3.5 比較索引器和數組 154
8.4 小結 154
8.5 習題 154
第9章 運算符重載 158
9.1 什麼是運算符重載 158
9.2 如何進行運算符重載 158
9.2.1 一元運算符重載 159
9.2.2 二元運算符重載 162
9.3 關係運算符重載 163
9.4 重載true和false 165
9.5 邏輯運算符重載 167
9.5.1 邏輯運算符重載的簡單方式 167
9.5.2 使用短路運算符 169
9.6 轉換運算符 171
9.7 注意問題 173
9.7.1 重載後運算符的優先級 173
9.7.2 不能重載的運算符 174
9.8 小結 175
9.9 習題 175
第10章 接口 178
10.1 接口的概念 178
10.1.1 接口組成 178
10.1.2 接口聲明 178
10.1.3 接口的實現 179
10.2 接口方法的使用 182
10.3 接口屬性 183
10.4 接口索引器 185
10.5 接口繼承 187
10.5.1 多重繼承 187
10.5.2 接口繼承引起的名稱隱藏 189
10.6 顯式實現接口 190
10.7 小結 194
10.8 習題 194
第三篇 應用技術篇
第11章 異常處理 200
11.1 異常處理的基礎 200
11.1.1 什麼是異常 200
11.1.2 未捕獲異常的後果 200
11.1.3 常用異常 201
11.1.4 異常處理 201
11.1.5 使用try和catch關鍵字 201
11.2 處理異常 204
11.2.1 使用異常處理錯誤 204
11.2.2 使用多條catch語句 205
11.2.3 嵌套try塊 206
11.2.4 拋齣異常 207
11.2.5 重新拋齣異常 208
11.2.6 finally語句 210
11.3 自定義異常類 212
11.4 checked和unchecked關鍵字 214
11.4.1 checked 214
11.4.2 unchecked 214
11.5 小結 217
11.6 習題 217
第12章 文件和流 221
12.1 System.IO類 221
12.2 文件類File 222
12.2.1 文件的創建和打開 222
12.2.2 判斷文件是否存在 224
12.2.3 復製文件 225
12.2.4 刪除文件 226
12.2.5 文件的加密和解密 227
12.2.6 文件讀取 228
12.3 文件夾類Directory 229
12.3.1 創建文件夾 229
12.3.2 刪除文件夾 230
12.3.3 獲取文件夾 231
12.4 文件信息類FileInfo 232
12.5 文件夾信息類DirectoryInfo 233
12.6 流 234
12.7 文件流類FileStream 235
12.7.1 FileStream文件流類的創建 235
12.7.2 獲取和設置文件流屬性信息 236
12.8 流寫入類StreamWriter 237
12.9 流讀取類StreamReader 238
12.9.1 創建StreamReader 239
12.9.2 讀取字符或字符塊到指定的變量 240
12.10 二進製流寫入類BinaryWriter 241
12.11 二進製流讀取類BinaryReader 242
12.12 小結 244
12.13 習題 244
第13章 委托、事件和 Lambda錶達式 247
13.1 委托 247
13.1.1 聲明委托 247
13.1.2 創建委托 247
13.1.3 多播委托 249
13.1.4 逆變和協變 251
13.2 事件 253
13.2.1 聲明事件 253
13.2.2 訂閱事件 254
13.2.3 取消訂閱事件 255
13.2.4 引發事件 255
13.2.5 使用事件 255
13.3 匿名函數 257
13.3.1 匿名方法 257
13.3.2 給匿名方法傳遞參數 258
13.3.3 從匿名方法中返迴值 259
13.4 Lambda錶達式 260
13.4.1 Lambda運算符和Lambda錶達式 261
13.4.2 Lambda錶達式的形式 263
13.4.3 語句Lambda 263
13.5 小結 265
13.6 習題 265
第14章 命名空間、預處理器和程序集 269
14.1 命名空間 269
14.1.1 命名空間的聲明 269
14.1.2 命名空間的作用 272
14.1.3 using指令 273
14.1.4 using指令的另一種形式 275
14.1.5 命名空間的閤成 277
14.1.6 嵌套命名空間 278
14.1.7 全局命名空間 280
14.1.8 使用命名空間彆名限定符(::) 280
14.2 預處理器 281
14.2.1 #define 281
14.2.2 #if和#endif 282
14.2.3 #else和#elif 284
14.2.4 #undef 287
14.2.5 #error 287
14.2.6 #warning 288
14.2.7 #line 289
14.2.8 #region和#endregion 289
14.2.9 #pragma 290
14.3 程序集 291
14.4 小結 292
14.5 習題 293
第15章 運行時類型標識、反射和特性 297
15.1 運行時類型標識 297
15.1.1 is運算符測試類型 297
15.1.2 as運算符 299
15.1.3 typeof運算符 300
15.2 反射 301
15.2.1 System.Type 301
15.2.2 使用反射獲取方法的相關信息 302
15.2.3 使用反射調用方法 306
15.2.4 使用反射獲取Type對象的構造函數 308
15.2.5 使用反射從程序集獲得類型 308
15.3 特性 311
15.3.1 創建特性 311
15.3.2 連接特性 313
15.3.3 獲取對象的特性 313
15.3.4 3個內置特性 316
15.4 小結 319
15.5 習題 319
第16章 泛型 327
16.1 泛型簡介 327
16.2 類型約束 328
16.2.1 基類約束 329
16.2.2 接口約束 330
16.2.3 new()構造函數約束 331
16.2.4 引用類型約束和值類型約束 332
16.2.5 使用約束建立兩個類型形參之間的關係 334
16.2.6 使用多個約束 335
16.3 泛型結構 336
16.4 泛型方法 337
16.5 泛型委托 338
16.6 泛型接口 339
16.7 泛型類的層次結構 341
16.8 使用泛型的限製 343
16.9 小結 343
16.10 習題 343
第17章 LINQ 349
17.1 LINQ的基礎知識 349
17.1.1 簡單查詢 349
17.1.2 多次執行查詢 351
17.2 查詢錶達式中使用的上下文關鍵 352
17.2.1 使用where子句篩選值 352
17.2.2 使用orderby子句排序結果 354
17.2.3 select子句 358
17.2.4 使用嵌套的from子句 364
17.2.5 使用group子句分組結果 365
17.2.6 使用into子句創建延續 366
17.2.7 在查詢中使用let子句創建變量 367
17.2.8 使用join子句連接兩個序列 368
17.3 匿名類型 370
17.4 創建組連接 372
17.5 查詢方法 374
17.5.1 使用查詢方法創建查詢 374
17.5.2 查詢語法與查詢方法的對比 376
17.6 延期執行查詢和立即執行查詢 376
17.7 錶達式樹 376
17.8 擴展方法 378
17.9 小結 379
17.10 習題 379
第18章 數據庫開發 385
18.1 常用數據庫 385
18.1.1 Oracle數據庫 385
18.1.2 Access數據庫 385
18.1.3 SQL Server數據庫 386
18.2 .NET下的數據庫連接方式 386
18.2.1 通過連接字符串連接Access數據庫 386
18.2.2 通過連接字符串連接SQL Server數據庫 387
18.2.3 通過控件連接數據庫 389
18.3 SQL語句 391
18.3.1 select語句 391
18.3.2 where語句 393
18.3.3 order by語句 395
18.3.4 insert into語句 397
18.3.5 delete語句 399
18.3.6 update語句 401
18.4 小結 403
18.5 習題 403
· · · · · · (
收起)