前言
         C#發展路綫圖
         C#4.0新特性總述
         為何寫作本書
         本書麵嚮的讀者
         如何閱讀本書
         緻謝
         第一部分:準備篇 1
         第1章 .NET體係結構 1
         1.1 .NET框架概述 3
         1.2 .NET的平颱無關性 4
         1.3公共語言運行時(CLR) 5
         1.4 通用類型係統(CTS) 6
         1.4.1值類型和引用類型 7
         1.4.2裝箱和拆箱 8
         1.5 公共語言規範(CLS) 10
         1.6 語言的互操作性 11
         1.4即時編譯(JIT) 12
         1.5中間語言(CIL) 13
         1.6基類庫(BCL) 14
         第2章 從“Hello World!”開始 15
         2.1一個簡單的C#程序 15
         2.2編譯和運行程序 16
         2.2.1在Visual Stuido 2010中編譯和運行 16
         2.2.2通過命令行編譯和運行 17
         2.3詳細介紹 21
         2.4小結 25
         第二部分:語法篇 26
         第3章 標識符和關鍵字 26
         3.1  標識符 26
         3.2  關鍵字 27
         3.3  標識符的命名約定 30
         3.4  小結 30
         第4章 變量、常量和類型 31
         4.1變量 31
         4.1.1給變量命名 32
         4.1.2聲明變量 32
         4.1.3變量的初始化 33
         4.1.4 類型推斷 35
         4.1.5變量的作用域 36
         4.2常量 40
         4.3C#數據類型 40
         4.3.1內置的值類型 42
         4.3.2 內置的引用類型 52
         4.3.3指針類型 59
         4.3.4 Nullable類型 60
         4.3.5 dynamic類型 61
         4.4 進階閱讀:關於動態語言運行時(DLR) 63
         第5章 類型轉換 66
         5.1隱式類型轉換 66
         5.1.1 數值類型 68
         5.1.2 引用類型 69
         5.1.3 裝箱 70
         5.2 顯式類型轉換 71
         5.2.1數值類型 73
         5.2.2溢齣檢查 73
         5.2.3引用類型 75
         5.2.4拆箱 76
         5.3 as和is運算符 76
         第6章 錶達式和運算符 83
         6.1    錶達式 83
         6.2    運算符的類型 84
         6.3    運算符的優先級 85
         6.4    算術運算符 86
         6.5    求餘運算符 87
         6.6    遞增運算符和遞減運算符 88
         6.7    關係和類型檢測運算符 90
         6.8    相等性判斷運算符 91
         6.9    條件運算符 93
         6.10   邏輯運算符 95
         6.11   位運算符 96
         6.12   賦值運算符 97
         6.13   typeof運算符 99
         6.14   運算符重載 100
         6.14.1 運算符重載 101
         6.14.2 可重載的運算符 102
         第7章 語句 103
         7.1 什麼是語句 103
         7.2 程序的三種結構 103
         7.2.1 順序結構 104
         7.2.2 分支結構 104
         7.2.3 循環結構 105
         7.3 條件語句 106
         7.3.1 if語句 106
         7.3.2 switch語句 110
         7.4 跳轉語句 112
         7.4.1 break語句 112
         7.4.2 continue語句 114
         7.4.3 return語句 115
         7.4.4 throw語句 116
         7.4.5 goto語句 116
         7.4.6 default語句 117
         7.5  標簽語句 117
         7.5.1 標簽 118
         7.5.2 標簽語句的有效範圍 118
         7.6  循環語句 118
         7.6.1 while循環 119
         7.6.2 do…while循環 120
         7.6.3 for循環 121
         7.6.4 foreach…in循環 123
         7.7  using語句 124
         第8章 方法 127
         8.1  方法的構成 127
         8.2 局部變量和常量 128
         8.3  方法的調用 130
         8.4  返迴值 131
         8.5  參數 132
         8.5.1 形參 132
         8.5.2 實參 133
         8.5.3 新特性:命名和可選參數 134
         8.6  四種類型的參數 139
         8.6.1 按值傳遞參數 139
         8.6.2 按引用傳遞參數,關鍵字:ref 142
         8.6.3 輸齣參數,關鍵字:out 145
         8.6.4 參數數組,關鍵字:params 148
         8.7 棧幀 150
         8.8 遞歸 151
         8.9 方法的重載 152
         8.10靜態方法 154
         第9章 類 156
         9.1 類是什麼 156
         9.2 “Hello World”程序迴顧 157
         9.3 類的聲明 158
         9.4 類的成員 159
         9.4.1 字段 160
         9.4.2 靜態字段 161
         9.4.3 方法 163
         9.4.4 字段的初始化 163
         9.4.5 屬性 165
         9.5 類的實例:對象 177
         9.6 實例化中的內存分配 178
         9.7 實例的成員 179
         9.8 this關鍵字 179
         9.9 訪問修飾符 181
         9.10 訪問類的成員 182
         9.10.1 從類內部訪問成員 182
         9.10.2 從類外部訪問成員 183
         9.10.3 從類外部訪問靜態成員 184
         9.11 構造函數 185
         9.12 對象初始化列錶 193
         9.13 析構函數 196
         9.14 隻讀字段和常數 198
         9.15 索引器 200
         9.16 分部類型和分部方法,修飾符:partial 201
         9.16.1 分部類 202
         9.16.2 分部方法 204
         9.17 注釋 208
         9.17.1 行注釋 208
         9.17.2 塊注釋 210
         9.17.3 XML文檔注釋 211
         第10章 繼承 215
         10.1 類的繼承 215
         10.2 訪問繼承的成員 217
         10.3 使用new修飾符隱藏基類的成員 219
         10.4 訪問基類的成員 221
         10.5 類的初始化順序 222
         10.6 在派生類中指定基類構造函數 224
         10.7 類的訪問修飾符 229
         10.8 跨程序集的繼承 229
         10.9 密封類 231
         10.10 靜態類 232
         10.11 擴展方法 234
         10.12   派生類型的嚮上轉型 236
         第11章 多態 238
         11.1 重載方法 239
         11.2 虛方法 243
         11.3 覆寫方法 244
         11.4 覆寫標記為override的方法 246
         11.5 抽象類及抽象方法 249
         第12章 接口 252
         12.1    定義接口 253
         12.2    聲明和實現接口 254
         12.3    基類中的實現作為接口實現 258
         12.4    實現多個接口 259
         12.5    實現具有相同成員的接口 261
         12.6    顯式接口成員實現 263
         12.7    調用顯式接口成員實現 265
         12.8    接口的派生 267
         第13章 結 構 269
         13.1 什麼是結構 269
         13.2 結構是值類型 270
         13.3 給結構賦值 273
         13.4 構造函數 275
         13.4.1 實例構造函數 275
         13.4.2 靜態構造函數 277
         13.5 多態和可繼承性 279
         13.6 裝箱和拆箱 280
         13.7 結構和類的對比 281
         13.7.1字段初始化 282
         13.7.2性能 283
         13.7.3結構和類的適用場閤分析 286
         第14章 枚 舉 287
         14.1 什麼是枚舉 287
         14.2 設置枚舉的底層數據類型 291
         14.3 顯式設置枚舉的成員常量值 292
         14.4 使用標誌枚舉 294
         14.5一些使用建議 296
         第15章 委 托 298
         15.1 什麼是委托 298
         15.2 委托是引用類型 299
         15.3 委托的聲明和實例化 300
         15.4 委托的組閤 302
         15.5 為委托添加一個方法 304
         15.6 從委托中刪除一個方法 305
         15.7 委托在迴調中的應用 307
         15.8 委托中的協變和逆變 309
         15.9 匿名方法 312
         15.10   λ錶達式 315
         第16章 事 件 318
         16.1 什麼是事件 318
         16.2 事件和委托的關係 319
         16.3 如何聲明事件 319
         16.4 訂閱事件 321
         16.5 觸發事件 324
         16.6 使用和擴展EventArgs類 325
         16.7 使用自定義委托 327
         16.8 事件訪問器 330
         第17章 泛 型 332
         17.1 什麼是泛型 332
         17.2 泛型類型 335
         17.3 泛型類型的聲明和實例化 337
         17.4 類型參數 342
         17.5 類型參數的約束 343
         17.5.1 Where子句 344
         17.5.2 約束類型和順序 345
         17.6 泛型類 346
         17.7 泛型結構 350
         17.8 泛型接口 351
         17.9 泛型委托 354
         17.10 泛型方法 356
         17.11 擴展方法和泛型類 358
         17.12 協變和逆變 360
         第18章 數 組 362
         18.1 數組的聲明 363
         18.2 數組的類型 364
         18.3 數組派生自Array對象 365
         18.4 實例化數組 366
         18.5 初始化數組 368
         18.5.1 顯式初始化一維數組 369
         18.5.2 顯式初始化矩形數組及要點 370
         18.5.3 隱式類型數組 373
         18.6 訪問數組元素 374
         18.7 交錯數組 375
         18.7.1 交錯數組的聲明 376
         18.7.2 交錯數組的實例化 376
         18.7.3 交錯數組的初始化 377
         18.8 矩形數組和交錯數組的對比 378
         18.9 使用foreach和for語句訪問數組 381
         18.9.1 foreach語句 381
         18.9.2 for語句 383
         18.9.3 迭代變量 384
         18.10 數組協變 386
         18.11 從Array對象繼承的成員 388
         18.12 數組的淺復製和深復製 390
         第19章 集 閤 396
         19.1 集閤接口 396
         19.2 常用的幾種集閤類型 400
         19.2.1 ArrayList 402
         19.2.2 Hashtable 406
         19.2.3 Queue和Queue<T> 410
         19.2.4 SortedList 414
         19.2.5 Stack和Stack<T> 416
         19.2.6 BitArray 420
         19.2.7 List<T> 422
         19.2.8 HashSet<T> 434
         19.3 自定義集閤 439
         19.3.1 CollectionBase 440
         19.3.2 ReadOnlyCollectionBase 445
         19.4 迭代器 448
         19.5 泛型集閤接口支持協變和逆變 452
         19.6 LINQ to Objects 456
         19.6.1 LINQ簡介 456
         19.6.2 查詢語法 458
         19.6.3 方法語法 459
         19.6.4 查詢操作的組成 459
         19.6.5 關於查詢變量 460
         19.6.6 查詢語法和方法語法的統一 461
         第20章 字符串與正則錶達式 462
         20.1 理解字符串 462
         20.2 字符串的常用成員 465
         20.3 字符串格式化 474
         20.4 使用StringBuilder類 480
         20.5 正則錶達式 482
         20.5.1 正則錶達式基本語法 484
         20.5.2 .NET對於正則錶達式的支持 491
         20.5.3開始使用正則錶達式 496
         第21章 異常處理 500
         21.1 異常類 500
         21.2拋齣異常 502
         21.3捕獲異常 503
         21.4自定義的異常類 507
         21.5異常處理的原則 508
         第22章 命名空間和程序集 510
         22.1 命名空間 510
         22.1.1 使用命名空間 511
         22.1.2 使用彆名 514
         22.2 程序集 515
         22.2.1 程序集的結構 518
         22.2.2 程序集清單 519
         22.2.3 私有程序集和共享程序集 521
         22.2.4 應用程序域 521
         22.2.5 創建動態程序集並動態加載執行 524
         22.2.6 全局程序集緩存 528
         第23章 預處理指令 534
         23.1 什麼是預處理指令 534
         23.2 先來觀察一段示例 534
         23.3 預處理指令集 536
         23.4 #define和#undef指令 537
         23.5 條件編譯指令 538
         23.6 #warning和#error指令 540
         23.7 #line指令 541
         23.8 #region和#endregion指令 544
         23.9 #pragma warning指令 546
         第24章 元數據和特性 548
         24.1 元數據 548
         24.1.1 從IntelliSense談起 554
         24.1.2 訪問元數據 556
         24.2 特性(Attribute) 564
         24.2.1 什麼是特性 567
         24.2.2 創建自定義特性 573
         24.2.3 訪問特性 581
         24.2.4 常用特性 582
         24.2.5特性應用完整示例 595
         第25章 異步編程和多綫程編程 600
         25.1 進程和綫程 600
         25.2 BeginInvoke 和 EndInvoke 603
         25.3 IAsyncResult接口和AsyncResult類 604
         25.4 異步編程的4種方法 606
         25.4.1 使用EndInvoke 606
         25.4.2 使用WaitHandle 607
         25.4.3 輪詢 609
         25.4.4 迴調 611
         25.5 多綫程編程 613
         25.5.1 Thread類 613
         25.5.2 使用綫程池 615
         25.5.3 綫程同步 617
         25.5.4 死鎖 622
         第26章 I/O操作 627
         26.1 文件和目錄 627
         26.1.1 File和Directory 628
         26.1.2 FileInfo和DirectoryInfo 630
         26.1.3 文件I/O的改進 634
         26.2 流(Stream) 641
         26.3 異步操作 646
         26.4 網絡流(NetworkStream)的使用 649
         26.5 序列化 655
         26.5.1 BinaryFormatter 658
         26.5.2 SoapFormatter 660
         26.5.3 XML序列化 664
         26.6 獨立存儲機製 668
         第27章 XML處理 671
         27.1 System.Xml命名空間 671
         27.2 使用DOM 672
         27.3 XPath和XSLT 678
         27.4 LINQ to XML 684
         27.4.1  LINQ to XML類庫介紹 684
         27.4.2  創建XML文檔 685
         27.4.3  使用LINQ進行遍曆和查詢 686
         27.4.4  修改XML文檔 688
         第28章 增強的COM Interop 690
         28.1 Dynamic lookup 691
         28.1.1 dynamic關鍵字 692
         28.1.2 訪問Python代碼 693
         28.1.3 訪問COM對象 696
         28.2 改進的參數傳遞 698
         28.3 完整示例 704
         第29章 並行編程 708
         29.1任務並行庫(TPL) 709
         29.1.1並發和並行 710
         29.1.2並行編程架構 711
         29.2 Parallel 類 713
         29.2.1 For方法重載一 715
         29.2.2 For方法重載二 716
         29.2.3 For方法重載三 722
         29.3 Task類和Task<TResult>類 724
         29.4 數據並行 726
         29.5 任務並行 730
         29.6 TaskFactory類和TaskFactory<TResult>類 733
         29.6.1任務創建選項 737
         29.6.2並發選項 753
         29.6.3後續任務選項 757
         29.7PLINQ 769
         附錄A Visual Studio 2010快速入門 773
         A.1Visual Studio 2010的安裝 773
         A.2環境參數設置 778
         A.3集成開發環境簡介 784
         A.3.1起始頁 784
         A.3.2菜單欄 790
         A.3.3解決方案資源管理器 792
         A.3.4 “屬性”選項卡 795
         A.3.5工具箱 797
         A.3.6可視化設計器 798
         A.3.7代碼編輯器 799
         A.3.8類視圖 807
         A.3.9智能感知(IntelliSense) 808
         A.4使用MSDN 810
         A.5生成和調試項目 814
         A.6外部工具——IL反匯編程序 821
      · · · · · ·     (
收起)