第Ⅰ部分 核心語言
第1章 Visual C#編程簡介
1.1 Visual C# 2008編程示例
1.1.1 C#示例程序
1.1.2 LINQ示例程序
1.2 Visual C# 2008程序的公共要素
1.2.1 命名空間
1.2.2 Main入口點
1.2.3 局部變量
1.2.4 可空類型
1.2.5 表達式
1.2.6 選擇語句
1.2.7 迭代語句
1.3 C#核心語言特征
1.3.1 符號和標記
1.3.2 標識符
1.3.3 關鍵字
1.3.4 基元
1.4 類型預覽
第2章 類型
2.1 類
2.1.1 類的成員
2.1.2 成員函數(shù)
2.2 結構
2.3 枚舉
2.4 等值與標識
2.5 繼承預覽
第3章 繼承
3.1 繼承示例
3.2 System.Object
3.2.1 Object.Equals方法
3.2.2 Object.GetHashCode方法
3.2.3 Object.GetType方法
3.2.4 Object.ToString方法
3.2.5 Object.MemberwiseClone方法
3.2.6 Object.ReferenceEquals方法
3.3 Employee類
3.4 實現(xiàn)繼承
3.5 重寫繼承的行為
3.5.1 virtual和override關鍵字
3.5.2 重載與重寫
3.5.3 重寫事件
3.5.4 擴展方法
3.6 new修飾符
3.7 抽象類
3.8 密封類
3.9 構造函數(shù)和析構函數(shù)
3.10 接口
3.10.1 實現(xiàn)接口
3.10.2 顯式接口成員實現(xiàn)
3.10.3 接口的再實現(xiàn)
3.11 多態(tài)性
3.11.1 接口多態(tài)性
3.11.2 new修飾符和多態(tài)性
3.12 強制類型轉換
3.13 屬性繼承
3.14 Visual Studio 2008預覽
第Ⅱ部分 核心技術
第4章 Visual Studio 2008簡介
4.1 遷移到Visual Studio 2008
4.2 集成開發(fā)環(huán)境
4.2.1 起始頁
4.2.2 創(chuàng)建項目
4.2.3 多目標
4.2.4 解決方案資源管理器
4.2.5 項目類型
4.2.6 添加引用
4.2.7 Visual Studio中的窗口管理
4.2.8 自動恢復
4.3 類層次結構
4.3.1 “類視圖”窗口
4.3.2 對象瀏覽器
4.3.3 類關系圖
4.3.4 “錯誤列表”窗口
4.4 代碼編輯器
4.4.1 IntelliSense
4.4.2 外側代碼
4.4.3 字體和顏色格式化
4.4.4 源代碼格式設置
4.4.5 修改跟蹤
4.5 代碼段
4.5.1 插入代碼段
4.5.2 默認的代碼段
4.5.3 代碼段管理器
4.5.4 創(chuàng)建代碼段
4.5.5 復制和粘貼
4.6 重構
4.7 生成和部署
4.7.1 MSBuild
4.7.2 ClickOnce部署
4.8 數(shù)組和集合預覽
第5章 數(shù)組和集合
5.1 數(shù)組
5.1.1 數(shù)組元素
5.1.2 多維數(shù)組
5.1.3 交錯數(shù)組
5.1.4 System.Array
5.1.5 System.Array屬性
5.1.6 params關鍵字
5.1.7 數(shù)組轉換
5.2 集合
5.2.1 ArrayList集合
5.2.2 BitArray集合
5.2.3 Hashtable集合
5.2.4 Queue集合
5.2.5 SortedList
5.2.6 Stack集合
5.2.7 專用集合
5.3 LINQ預覽
第6章 LINQ簡介
6.1 C#擴展
6.1.1 類型推斷
6.1.2 對象初始值設定項
6.1.3 匿名類型
6.1.4 擴展方法
6.1.5 lambda表達式
6.1.6 表達式目錄樹
6.2 LINQ基礎
6.2.1 核心要素
6.2.2 轉換運算符
6.2.3 LINQ查詢表達式語法
6.2.4 LINQ在哪里
6.3 LINQ to Objects
6.4 LINQ運算符
6.4.1 聚合運算符
6.4.2 連接運算符
6.4.3 數(shù)據(jù)類型轉換運算符
6.4.4 元素運算符
6.4.5 等于運算符
6.4.6 篩選運算符
6.4.7 生成運算符
6.4.8 分組運算符
6.4.9 聯(lián)接運算符
6.4.10 分區(qū)運算符
6.4.11 量詞運算符
6.4.12 集合運算符
6.4.13 排序運算符
6.5 泛型預覽
第7章 泛型
7.1 泛型類型
7.1.1 類型形參
7.1.2 類型實參
7.1.3 構造類型
7.1.4 重載方法
7.2 泛型方法
泛型類型的this引用
7.3 約束
7.3.1 派生約束
7.3.2 接口約束
7.3.3 值類型約束
7.3.4 引用類型約束
7.3.5 默認的構造函數(shù)約束
7.4 強制類型轉換
7.5 繼承
7.5.1 重寫泛型方法
7.5.2 嵌套類型
7.6 靜態(tài)成員
7.6.1 運算符函數(shù)
7.6.2 序列化
7.6.3 泛型本質
7.6.4 泛型集合
7.7 枚舉器預覽
第8章 枚舉器
8.1 可枚舉的對象
8.1.1 枚舉器
8.1.2 枚舉器實例
8.1.3 枚舉器實例(版本化集合)
8.1.4 IEnumerator問題
8.2 泛型枚舉器
8.2.1 IEnumerable接口
8.2.2 IEnumerator接口
8.2.3 泛型枚舉器實例 (版本化集合)
8.3 迭代器
8.4 運算符重載預覽
第Ⅲ部分 C#語言詳解
第9章 運算符重載
9.1 數(shù)學運算符和邏輯運算符
9.1.1 實現(xiàn)
9.1.2 自增和自減運算符
9.1.3 左移和右移運算符
9.1.4 true和false運算符
9.1.5 成對運算符
9.2 轉換運算符
9.3 實例
9.4 運算符重載的本質
9.5 委托和事件預覽
第10章 委托和事件
10.1 委托
10.1.1 定義委托
10.1.2 創(chuàng)建委托
10.1.3 逆變和協(xié)變
10.1.4 激活委托
10.1.5 委托數(shù)組
10.1.6 System.MulticastDelegate類
10.1.7 調用列表
10.1.8 泛型和委托
10.1.9 異步調用
10.1.10 異步委托圖
10.1.11 異常
10.2 匿名方法
10.2.1 外部變量
10.2.2 泛型匿名方法
10.2.3 匿名方法的局限性
10.3 事件
10.3.1 發(fā)布事件
10.3.2 訂閱者
10.3.3 引發(fā)事件
10.4 LINQ編程預覽
第11章 LINQ編程
11.1 LINQ to XML
11.1.1 XML架構
11.1.2 驗證
11.1.3 導航
11.1.4 顯式的強制類型轉換
11.1.5 XML修改
11.1.6 XML查詢表達式
11.2 LINQ to SQL
11.2.1 實體類
11.2.2 LINQ to SQL查詢表達式
11.2.3 LINQ to DataSet
11.2.4 關聯(lián)
11.2.5 LINQ to SQL更新
11.3 異常處理預覽
第12章 異常處理
12.1 異常示例
12.2 標準異常模型
12.3 結構化異常處理
12.3.1 try語句
12.3.2 catch語句
12.3.3 異常的傳播
12.3.4 finally語句
12.3.5 異常信息表
12.3.6 嵌套的try塊
12.4 System.Exception
12.4.1 System.Exception函數(shù)
12.4.2 System.Exception屬性
12.4.3 應用程序異常
12.4.4 異常轉換
12.4.5 COM互操作性異常
12.5 遠程異常
12.6 未處理的異常
12.6.1 Application.ThreadException
12.6.2 AppDomain.Unhandled-Exception
12.7 在Visual Studio中管理異常
12.7.1 異常助手
12.7.2 “異常”對話框
12.8 元數(shù)據(jù)和反射預覽
第Ⅳ部分 調試
第13章 元數(shù)據(jù)和反射
13.1 元數(shù)據(jù)
13.1.1 元數(shù)據(jù)標記
13.1.2 元數(shù)據(jù)堆
13.1.3 流
13.1.4 元數(shù)據(jù)驗證
13.1.5 ILDASM
13.2 反射
13.2.1 獲得Type對象
13.2.2 加載程序集
13.2.3 瀏覽類型信息
13.2.4 動態(tài)調用
13.2.5 類型的創(chuàng)建
13.2.6 晚期綁定委托
13.2.7 函數(shù)調用性能
13.3 反射和泛型
13.3.1 IsGeneric和IsGenericTypeDefinition
13.3.2 typeof
13.3.3 GetType
13.3.4 GetGenericTypeDefinition
13.3.5 GetGenericArguments
13.3.6 創(chuàng)建泛型類型
13.3.7 反射的安全性
13.3.8 屬性
13.3.9 程序員定義的自定義屬性
13.3.10 屬性和反射
13.4 MSIL預覽
第14章 MSIL編程
14.1 “Hello World”應用程序
14.2 計算堆棧
14.3 MSIL詳解
14.4 復雜任務
14.5 分支
14.6 數(shù)組
14.7 算術指令
14.8 轉換運算
14.9 異常處理
14.10 其他操作
14.11 進程執(zhí)行
14.12 用Visual Studio 2008進行調試預覽
第15章 用Visual Studio 2008進行調試
15.1 調試概述
15.1.1 調試Windows窗體項目
15.1.2 附加到運行進程
15.1.3 調試控制臺應用程序項目
15.1.4 調試類庫項目
15.2 調試配置
15.2.1 Debug和Release配置
15.2.2 配置管理器
15.3 調試設置
15.3.1 Visual Studio環(huán)境調試設置
15.3.2 解決方案的調試設置
15.3.3 項目的調試設置
15.4 斷點
15.4.1 函數(shù)斷點
15.4.2 “斷點”窗口
15.4.3 跟蹤點
15.5 代碼逐步調試
15.5.1 逐步調試命令
15.5.2 “設置下一條語句”實例
15.6 “調試”工具欄
15.7 數(shù)據(jù)提示
15.8 調試窗口
15.8.1 “斷點”窗口
15.8.2 “輸出”窗口
15.8.3 “監(jiān)視”窗口和其他變量窗口
15.8.4 自動窗口
15.8.5 “局部變量”窗口
15.8.6 “即時”窗口
15.8.7 “調用堆?!贝翱?
15.8.8 “線程”窗口
15.8.9 “模塊”窗口
15.8.10 “進程”窗口
15.8.11 “內存”窗口
15.8.12 “反匯編”窗口
15.8.13 “寄存器”窗口
15.9 跟蹤
15.9.1 跟蹤實例
15.9.2 配置文件
15.9.3 使用配置文件進行跟蹤的示例
15.10 DebuggerDisplayAttribute
15.11 DebuggerBrowsableAttribute
15.12 DebuggerTypeProxyAttribute
15.13 轉儲文件
15.14 高級調試預覽
第16章 高級調試
16.1 DebuggableAttribute屬性
16.2 調試器
16.3 托管調試器(MDbg)
16.3.1 MDbg實例
16.3.2 MDbg命令
16.4 WinDbg
16.5 Son of Strike(SOS)
16.5.1 SOS實例——第1部分
16.5.2 SOS實例——第2部分
16.6 轉儲文件
16.7 內存管理
16.7.1 對象圖
16.7.2 代
16.7.3 終結進程
16.7.4 可靠性和性能監(jiān)視器
16.8 線程
16.9 異常
16.10 符號
16.10.1 Symsrv符號服務器
16.10.2 應用程序符號
16.11 內存管理預覽
第Ⅴ部分 高級特性
第17章 內存管理
17.1 非托管資源
17.1.1 垃圾回收概述
17.1.2 GC風格
17.2 終結器
17.3 IDisposable.Dispose
17.3.1 Disposable模式
17.3.2 Disposable模式的考慮因素
17.4 弱引用
17.4.1 弱引用內部機理
17.4.2 WeakReference類
17.4.3 可靠的代碼
17.4.4 管理非托管資源
17.5 GC類
17.6 不安全的代碼預覽
第18章 不安全的代碼
18.1 unsafe關鍵字
18.1.1 指針
18.1.2 指針參數(shù)和指針返回值
18.1.3 P/Invoke
18.2 小結
索引