致謝
簡介
第一章 C#簡介
1.1 基于組件的軟件設計模型
1.2 基于組件的軟件開發(fā)的.NET方法
1.3 什么是.NET Framework?
1.3.1 .NET的公共語言運行時
1.3.2 .NET的框架類庫
1.3.3 .NET Framework的工具和實用程序
1.4 為什么使用C#?
1.5 什么是C#?
第二章 C#語言概述
2.1 一個簡單的C#程序
2.1.1 對Main()的更多說明
2.1.2 向簡單的C#程序添加類
2.2 C#類型和類型管理
2.2.1 值類型
2.2.2 結構類型
2.2.3 枚舉
2.2.4 引用類型
2.2.5 類型比較
2.2.6 類型轉換與取消轉換
2.2.7 強制轉換
2.2.8 數組
2.3 C#中面向對象的組件開發(fā)
2.3.1 C#的面向對象特性
2.3.2 類的構造函數和析構函數
2.3.3 方法
2.3.4 字段
2.3.5 屬性
2.3.6 操作符重載
2.3.7 委托
2.3.8 事件
2.4 C#中的名稱空間
2.4.1 聲明名稱空間
2.5 異常
2.6 屬性
2.7 分度器
2.8 編寫不安全的代碼
2.9 使用XML為代碼編寫文檔
2.10 C#編碼風格
第三章 C#的操作環(huán)境——.NET
3.1 Microsoft IL
3.2 .NET的組成部分
3.2.1 模塊
3.2.2 程序集
3.2.3 應用程序域
3.3 建立模塊和程序集
3.4 健壯的版本控制
3.5 內置的元數據
3.5.1 基于屬性的編程
3.5.2 映像
3.6 跨語言的互操作性
3.7 公共語言規(guī)范
3.8 公共類型系統(tǒng)
3.9 面向對象
3.10 委托和事件
3.11 通過無用單元收集管理內存
3.11.1 無用單元收集的步驟
3.11.2 結束
3.11.3 強引用和弱引用
3.12 線程同步
第四章 C#語言與其他語言的比較
4.1 C#與C++的比較
4.2 C#與Visual Basic.NET的比較
4.3 C#與Java的比較
第五章 使用C#的范圍
5.1 確定性結束
5.1.1 顯式地釋放資源
5.1.2 使用using關鍵字聲明變量
5.1.3 引用計數
5.1.4 .NET結束
5.2 多重繼承
5.2.1 包含
5.2.2 接口實現
5.3 宏
5.3.1 將宏與接口繼承相結合
5.4 模板
5.5 源代碼安全性
第六章 使用C#集成早期代碼
6.1 集成方法
6.2 從C#中調用COM對象
6.2.1 使用TLBIMP工具
6.2.2 運行時可調用包裝器
6.2.3 方法返回值和HRESULT
6.2.4 COM對象生命期和確定性結束
6.2.5 繼承和RCW對象
6.2.6 COM連接點
6.2.7 RCW組件的線程處理
6.3 COM可調用包裝器從COM調用.NET對象
6.3.1 TLBEXP工具
6.3.2 REGASM
6.3.3 COM可調用包裝器
6.3.4 向COM客戶提供.NET事件
6.3.5 .NET組件的線程處理
6.3.6 額外的COM互操作屬性
6.3.7 從.NET到類型庫的額外轉換
6.4 數據編組
6.4.1 字符申和MarshalAsAttribute
6.4.2 對象編組
6.5 平臺調用服務,從C#調用非托管的API
6.6 通過Managed C++進行互操作
6.7 移植代碼
6.8 結束語