C# 4.0圖解教程

C# 4.0圖解教程

《C# 4.0圖解教程》是2011年6月人民郵電出版社出版的圖書,作者是Daniel M. Solis 。

基本介紹

圖書信息,內容簡介,目錄,

圖書信息

作者:Daniel M. Solis (作者), 蘇林 (譯者), 朱曄 (譯者), (譯者)
C# 4.0圖解教程(封面)C# 4.0圖解教程(封面)
出版社: 人民郵電出版社; 第1版 (2011年6月1日)
叢書名: 圖靈程式設計叢書
平裝: 469頁
開本: 16開
ISBN: 9787115251831, 7115251835
條形碼: 9787115251831
產品尺寸及重量: 23.4 x 18.6 x 2.4 cm ; 780 g

內容簡介

《C# 4.0圖解教程》是一本廣受稱讚的C#教程。它以圖文並茂的形式,用樸實簡潔的文字,並輔之以大量表格和代碼示例,全面地闡述了最新版C#語言的各種特性,使讀者能夠快速理解、學習和使用C#。同時,《C# 4.0圖解教程》還講解了C#與VB、C++等主流語言的不同點和相似之處。  《C# 4.0圖解教程》是經典的C#入門書,不僅適合沒有任何程式語言基礎的初級讀者閱讀,而且還是有VB、C++等語言基礎的C#初學者的最佳選擇。

目錄

目 錄
第1章 C#和NET框架 1
1.1 在NET之前 1
1.1.1 20世紀90年代後期的Windows編程 1
1.1.2 下一代平台服務的目標 2
1.2 進入Microsoft NET 2
1.2.1 NET框架的組成 2
1.2.2 大大改進的編程環境 3
1.3 編譯成CIL 5
1.4 編譯成本機代碼並執行 5
1.5 CLR 6
1.6 CLI 7
1.7 縮寫回顧 8
第2章 C#編程概述 9
2.1 一個簡單的C#程式 9
2.2 標識符和關鍵字 11
2.2.1 命名約定 11
2.2.2 關鍵字 12
2.3 Main:程式的起始點 12
2.4 空白 13
2.5 語句 13
2.5.1 簡單語句 13
2.5.2 塊 14
2.6 從程式中輸出文本 14
2.6.1 Write 14
2.6.2 WriteLine 15
2.6.3 格式字元串 15
2.6.4 多重標記和值 16
2.7 注釋 16
2.7.1 關於注釋的補充 17
2.7.2 文檔注釋 17
2.7.3 注釋類型總結 18
第3章 類型、存儲和變數 19
3.1 C#程式是一組類型聲明 19
3.2 類型是一種模板 20
3.3 實例化類型 20
3.4 數據成員和函式成員 21
3.5 預定義類型 21
3.6 用戶定義類型 23
3.7 棧和堆 24
3.7.1 棧 24
3.7.2 堆 25
3.8 值類型和引用類型 25
3.8.1 存儲引用類型對象的成員 26
3.8.2 C#類型的分類 27
3.9 變數 27
3.9.1 變數聲明 27
3.9.2 多重變數聲明 29
3.9.3 使用變數的值 29
3.10 靜態類型和dynamic關鍵字 29
3.11 可空類型 30
3.11.1 創建可空類型 30
3.11.2 為可空類型賦值 31
第4章 類:基礎 32
4.1 類的概述 32
4.2 程式和類:一個快速的示例 33
4.3 聲明類 33
4.4 類成員 34
4.4.1 欄位 34
4.4.2 顯式和隱式欄位初始化 35
4.4.3 聲明多個欄位 36
4.4.4 方法 36
4.5 創建變數和類的實例 37
4.6 為數據分配記憶體 37
4.7 實例成員 38
4.8 訪問修飾符 39
4.9 從類的內部訪問成員 41
4.10 從類的外部訪問成員 42
4.11 綜合套用 43
第5章 方法 45
5.1 方法的結構 45
5.2 本地變數 47
5.2.1 類型推斷和var關鍵字 47
5.2.2 嵌套塊中的本地變數 48
5.3 本地常量 49
5.4 方法調用 51
5.5 返回值 52
5.6 參數 54
5.6.1 形參 54
5.6.2 實參 55
5.6.3 帶位置輸入參數的方法示例 55
5.7 值參數 56
5.8 引用參數 58
5.9 輸出參數 60
5.10 參數數組 62
5.10.1 方法調用 63
5.10.2 數組作實參 65
5.11 參數類型總結 66
5.12 方法重載 66
5.13 命名參數 67
5.14 可選參數 68
5.15 棧幀 71
5.16 遞歸 72
第6章 類進階 74
6.1 類成員 74
6.2 實例類成員 76
6.3 靜態欄位 76
6.4 從類的外部訪問靜態成員 77
6.4.1 靜態欄位示例 77
6.4.2 靜態成員的生存期 78
6.5 靜態函式成員 79
6.6 其他靜態類成員類型 80
6.7 成員常量 80
6.8 屬性 82
6.8.1 屬性聲明和訪問器 83
6.8.2 屬性示例 83
6.8.3 使用屬性 84
6.8.4 屬性和關聯欄位 85
6.8.5 執行其他計算 86
6.8.6 唯讀和只寫屬性 87
6.8.7 計算唯讀屬性示例 87
6.8.8 屬性和資料庫示例 88
6.8.9 屬性vs公共欄位 88
6.8.10 自動實現屬性 89
6.8.11 靜態屬性 89
6.9 實例構造函式 90
6.9.1 帶參數的構造函式 91
6.9.2 默認構造函式 92
6.10 靜態構造函式 93
6.10.1 靜態構造函式示例 93
6.10.2 構造函式的可訪問性 94
6.11 對象初始化列表 94
6.12 析構函式 95
6.12.1 調用析構函式 96
6.12.2 標準清理模式 98
6.13 比較構造函式和析構函式 99
6.14 readonly修飾符 99
6.15 this關鍵字 100
6.16 索引 101
6.16.1 什麼是索引 102
6.16.2 索引和屬性 102
6.16.3 聲明索引 103
6.16.4 索引的set訪問器 104
6.16.5 索引的get訪問器 104
6.16.6 關於索引的補充 105
6.16.7 為Employee示例聲明索引 105
6.16.8 另一個索引示例 106
6.16.9 索引重載 107
6.17 訪問器的訪問修飾符 107
6.18 分部類和分部類型 109
第7章 類和繼承 12
7.1 類繼承 112
7.2 訪問繼承的成員 113
7.3 隱藏基類的成員 115
7.4 基類訪問 116
7.5 使用基類的引用 117
7.5.1 虛方法和覆寫方法 119
7.5.2 覆寫標記為override的方法 120
7.5.3 覆蓋其他成員類型 123
7.6 構造函式的執行 124
7.6.1 構造函式初始化語句 125
7.6.2 類訪問修飾符 127
7.7 程式集間的繼承 128
7.8 成員訪問修飾符 129
7.8.1 訪問成員的區域 130
7.8.2 公有成員的可訪問性 131
7.8.3 私有成員的可訪問性 131
7.8.4 受保護成員的可訪問性 132
7.8.5 內部成員的可訪問性 132
7.8.6 受保護內部成員的可訪問性 132
7.8.7 成員訪問修飾符的總結 133
7.9 抽象成員 133
7.10 抽象類 134
7.10.1 抽象類和抽象方法的示例 135
7.10.2 抽象類的另一個例子 136
7.11 密封類 137
7.12 靜態類 137
7.13 擴展方法 138
第8章 表達式和運算符 142
8.1 表達式 142
8.2 字面量 143
8.3 整數字面量 144
8.4 字元字面量 145
8.5 字元串字面量 146
8.6 求值順序 147
8.6.1 優先權 148
8.6.2 結合性 148
8.7 簡單算術運算符 149
8.8 求余運算符 149
8.9 關係比較運算符和相等比較運算符 150
8.10 遞增運算符和遞減運算符 152
8.11 條件邏輯運算符 153
8.12 邏輯運算符 154
8.13 移位運算符 155
8.14 賦值運算符 157
8.15 條件運算符 158
8.16 一元算術運算符 159
8.17 用戶定義類型轉換 160
8.18 運算符重載 162
8.18.1 運算符重載的限制 163
8.18.2 運算符重載的示例 164
8.19 typeof運算符 165
8.20 其他運算符 166
第9章 語句 167
9.1 什麼是語句 167
9.2 表達式語句 168
9.3 控制流語句 169
9.4 if 語句 169
9.5 if…else語句 170
9.6 switch語句 171
9.6.1 分支示例 172
9.6.2 switch語句的補充 173
9.6.3 switch標籤 174
9.7 while循環 174
9.8 do循環 175
9.9 for循環 176
9.9.1 for語句中變數的有效範圍 177
9.9.2 初始化語句和疊代表達式中的多表達式 178
9.10 跳轉語句 178
9.11 break語句 178
9.12 continue語句 179
9.13 標籤語句 180
9.13.1 標籤 180
9.13.2 標籤語句的範圍 180
9.14 goto語句 181
9.15 using語句 182
9.15.1 資源的包裝使用 183
9.15.2 using語句的示例 183
9.15.3 多個資源和嵌套 184
9.15.4 using語句的另一種形式 185
9.16 其他語句 186
第10章 命名空間和程式集 187
10.1 引用其他程式集 187
10.2 命名空間 191
10.2.1 命名空間名稱 194
10.2.2 命名空間的補充 194
10.2.3 命名空間跨檔案伸展 195
10.2.4 嵌套命名空間 195
10.3 using指令 196
10.3.1 using命名空間指令 196
10.3.2 using別名指令 197
10.4 程式集的結構 198
10.5 程式集標識符 199
10.6 強命名程式集 200
10.7 程式集的私有方式部署 201
10.8 共享程式集和GAC 201
10.8.1 把程式集安裝到GAC 201
10.8.2 GAC內的並肩執行 202
10.9 配置檔案 203
10.10 延遲簽名 203
第11章 異常 205
11.1 什麼是異常 205
11.2 try語句 206
11.3 異常類 207
11.4 catch子句 207
11.4.1 使用特定catch子句的示例 208
11.4.2 catch子句段 209
11.5 finally塊 210
11.6 為異常尋找處理代碼 211
11.7 更進一步搜尋 211
11.7.1 一般法則 212
11.7.2 搜尋調用棧的示例 213
11.8 拋出異常 214
11.9 不帶異常對象的拋出 215
第12章 結構 217
12.1 什麼是結構 217
12.2 結構是值類型 218
12.3 對結構賦值 219
12.4 構造函式和析構函式 220
12.4.1 實例構造函式 220
12.4.2 靜態構造函式 221
12.4.3 構造函式和析構函式的總結 221
12.5 欄位初始化是不允許的 222
12.6 結構是密封的 222
12.7 裝箱和取消裝箱 222
12.8 結構作為返回值和參數 222
12.9 關於結構的附加信息 222
第13章 枚舉 224
13.1 枚舉 224
13.1.1 設定底層類型和顯式值 225
13.1.2 隱式成員編號 226
13.2 位標誌 227
13.2.1 Flags特性 229
13.2.2 使用位標誌的示例 230
13.3 關於枚舉的補充 231
第14章 數組 233
14.1 數組 233
14.1.1 定義 233
14.1.2 重要細節 234
14.2 數組的類型 234
14.3 數組是對象 235
14.4 一維數組和矩形數組 236
14.5 實例化一維數組或矩形數組 236
14.6 訪問數組元素 237
14.7 初始化數組 238
14.7.1 顯式初始化一維數組 238
14.7.2 顯式初始化矩形數組 239
14.7.3 初始化矩形數組的語法點 239
14.7.4 快捷語法 240
14.7.5 隱式類型數組 240
14.7.6 綜合內容 241
14.8 交錯數組 241
14.8.1 聲明交錯數組 242
14.8.2 快捷實例化 242
14.8.3 實例化交錯數組 242
14.8.4 交錯數組中的子數組 243
14.9 比較矩形數組和交錯數組 244
14.10 foreach語句 245
14.10.1 疊代變數是唯讀的 246
14.10.2 foreach語句和多維數組 247
14.11 數組協變 248
14.12 數組繼承的有用成員 249
14.13 比較數組類型 252
第15章 委託 253
15.1 什麼是委託 253
15.2 聲明委託類型 255
15.3 創建委託對象 255
15.4 賦值委託 257
15.5 組合委託 257
15.6 為委託增加方法 258
15.7 從委託移除方法 259
15.8 調用委託 259
15.9 委託的示例 260
15.10 調用帶返回值的委託 261
15.11 調用帶引用參數的委託 262
15.12 匿名方法 262
15.12.1 使用匿名方法 263
15.12.2 匿名方法的語法 263
15.12.3 變數和參數的作用域 265
15.13 Lambda表達式 266
第16章 事件 269
16.1 事件和委託相似 269
16.2 原始碼組件概覽 270
16.3 聲明事件 271
16.3.1 事件是成員 271
16.3.2 委託類型和EventHandler 272
16.4 觸發事件 272
16.5 訂閱事件 273
16.6 標準事件的用法 275
16.6.1 使用EventArgs類 275
16.6.2 通過擴展EventArgs來傳遞數據 276
16.6.3 使用自定義委託 276
16.7 MyTimerClass代碼 278
16.8 事件訪問器 279
第17章 接口 280
17.1 什麼是接口 280
17.2 聲明接口 283
17.3 實現接口 284
17.4 接口是引用類型 285
17.5 接口和as運算符 287
17.6 實現多個接口 287
17.7 實現具有重複成員的接口 288
17.8 多個接口的引用 289
17.9 派生成員作為實現 291
17.10 顯式接口成員實現 291
17.11 接口可以繼承接口 294
第18章 轉換 297
18.1 什麼是轉換 297
18.2 隱式轉換 298
18.3 顯式轉換和強制轉換 299
18.4 轉換的類型 300
18.5 數字的轉換 301
18.5.1 隱式數字轉換 301
18.5.2 溢出檢測上下文 302
18.5.3 顯式數字轉換 303
18.6 引用轉換 306
18.6.1 隱式引用轉換 307
18.6.2 顯式引用轉換 308
18.6.3 有效顯式引用轉換 308
18.7 裝箱轉換 309
18.8 拆箱轉換 311
18.9 用戶自定義轉換 312
18.9.1 用戶自定義轉換的約束 312
18.9.2 用戶自定義轉換的示例 313
18.9.3 計算用戶自定義轉換 314
18.9.4 多步用戶自定義轉換的示例 315
18.10 is運算符 316
18.11 as運算符 317
第19章 泛型 318
19.1 什麼是泛型 318
19.2 C#中的泛型 320
19.3 泛型類 321
19.4 聲明泛型類 321
19.5 創建構造類型 322
19.6 創建變數和實例 323
19.6.1 使用泛型的棧的示例 324
19.6.2 比較泛型和非泛型棧 325
19.7 類型參數的約束 326
19.7.1 Where子句 327
19.7.2 約束類型和次序 327
19.8 泛型方法 328
19.8.1 聲明泛型方法 328
19.8.2 調用泛型方法 329
19.8.3 泛型方法的示例 330
19.9 擴展方法和泛型類 331
19.10 泛型結構 332
19.11 泛型委託 332
19.12 泛型接口 334
19.12.1 使用泛型接口的示例 335
19.12.2 泛型接口的實現必須唯一 336
19.13 泛型的協變和逆變 337
19.13.1 接口的協變和逆變 341
19.13.2 有關變化的更多內容 342
第20章 枚舉數和疊代器 344
20.1 枚舉數和可枚舉類型 344
20.1.1 使用foreach語句 344
20.1.2 枚舉數類型 345
20.2 使用IEnumerator接口 346
20.3 IEnumerable接口 349
20.4 不實現接口的枚舉數 351
20.5 泛型枚舉接口 352
20.6 IEnumerator接口 352
20.7 IEnumerable接口 354
20.8 疊代器 355
20.8.1 疊代器塊 356
20.8.2 使用疊代器來創建枚舉數 357
20.8.3 使用疊代器來創建可枚舉類型 358
20.9 常見疊代器模式 360
20.10 產生可枚舉類型和枚舉數 360
20.11 產生多個可枚舉類型 361
20.12 產生多個枚舉數 362
20.13 疊代器實質 363
第21章 介紹LINQ 365
21.1 什麼是LINQ 365
21.2 LINQ提供程式 366
21.3 查詢語法和方法語法 368
21.4 查詢變數 369
21.5 查詢表達式的結構 370
21.5.1 from子句 371
21.5.2 join子句 372
21.5.3 什麼是聯結 373
21.5.4 查詢主體中的fromletwhere片段 375
21.5.5 orderby子句 378
21.5.6 select…group子句 378
21.5.7 查詢中的匿名類型 380
21.5.8 group子句 380
21.5.9 查詢延續 382
21.6 標準查詢運算符 383
21.6.1 查詢表達式和標準查詢運算符 384
21.6.2 標準查詢運算符的簽名 385
21.6.3 委託作為參數 386
21.6.4 LINQ預定義的委託類型 387
21.6.5 使用委託參數的示例 388
21.6.6 使用Lambda表達式參數的示例 388
21.7 LINQ to XML 390
21.7.1 標記語言 390
21.7.2 XML基礎 390
21.7.3 XML類 391
21.7.4 使用XML樹的值 394
21.7.5 使用XML屬性 397
21.7.6 節點的其他類型 400
21.7.7 使用LINQ to XML的LINQ查詢 401
第22章 異步編程簡介 404
22.1 進程、執行緒以及異步編程 404
22.1.1 多執行緒處理帶來的問題 405
22.1.2 多執行緒處理的複雜度 405
22.2 並行循環 406
22.3 BackgroundWorker類 408
22.3.1 BackgroundWorker類的示例代碼 411
22.3.2 BackgroundWorker用於WPF程式的例子 414
22.4 異步編程模式 416
22.5 BeginInvoke和EndInvoke 417
22.5.1 等待—直到結束模式 418
22.5.2 AsyncResult類 419
22.5.3 輪詢模式 420
22.5.4 回調模式 421
22.6 計時器 423
第23章 預處理指令 426
23.1 什麼是預處理指令 426
23.2 基本規則 426
23.3 #define和#undef指令 427
23.4 條件編譯 428
23.5 條件編譯結構 429
23.6 診斷指令 431
23.7 行號指令 431
23.8 區域指令 432
23.9 #pragma warning指令 433
第24章 反射和特性 434
24.1 元數據和反射 434
24.2 Type類 435
24.3 獲取Type對象 436
24.4 什麼是特性 438
24.5 套用特性 439
24.6 預定義的保留的特性 439
24.6.1 Obsolete特性 439
24.6.2 Conditional特性 440
24.6.3 預定義的特性 441
24.7 有關套用特性的更多內容 442
24.7.1 多個特性 442
24.7.2 其他類型的目標 442
24.7.3 全局特性 443
24.8 自定義特性 443
24.8.1 聲明自定義特性 444
24.8.2 使用特性的構造函式 444
24.8.3 指定構造函式 444
24.8.4 使用構造函式 445
24.8.5 構造函式中的位置參數和命名參數 445
24.8.6 限制特性的使用 446
24.8.7 自定義特性的最佳實踐 447
24.9 訪問特性 448
24.9.1 使用IsDefined方法 448
24.9.2 使用GetCustomAttribute方法 449
第25章 其他主題 450
25.1 概述 450
25.2 字元串 450
25.2.1 使用StringBuilder類 451
25.2.2 格式化數字字元串 452
25.3 把字元串解析為數據值 455
25.4 關於可空類型的更多內容 457
25.4.1 使用空接合運算符 458
25.4.2 使用可空用戶自定義類型 459
25.5 Main方法 460
25.6 文檔注釋 461
25.6.1 插入文檔注釋 462
25.6.2 使用其他XML標籤 463
25.7 嵌套類型 463
25.7.1 嵌套類的示例 464
25.7.2 可見性和嵌套類型 465
25.8 和COM的互操作 467

相關詞條

熱門詞條

聯絡我們