第1章 .NET結構
1.1 C#與.NET的關系
1.2 公共語言運行時
1.3 中間語言
1.3.1 面向對象的支持和接口
1.3.2 值類型和引用類型
1.3.3 強數據類型
1.3.4 通過異常處理錯誤
1.3.5 屬性(attribute)的使用
1.4 程序集(Assemblies)
1.4.1 私有程序集
1.4.2 共享程序集
1.4.3 反射
1.5 .NET Framework類
1.6 用C#創(chuàng)建.NET應用程序
1.6.1 創(chuàng)建ASP.NET應用程序
1.6.2 創(chuàng)建Windows窗體
1.6.3 Windows服務
1.7 C#在.NET企業(yè)體系結構中的作用
1.8 小結
第2章 C?;A
2.1 引言
2.2 第一個C#程序
2.3 變量
2.3.1 變量的初始化
2.3.2 變量的作用域
2.3.3 常量
2.4 預定義數據類型
2.4.1 值類型和引用類型
2.4.2 CTS類型
2.4.3 預定義的值類型
2.4.4 預定義的引用類型
2.5 流控制
2.5.1 條件語句
2.5.2 循環(huán)
2.5.3 跳轉語句
2.6 程序的結構
2.6.1 類
2.6.2 結構
2.7 方法
2.7.1 方法的聲明
2.7.2 調用方法
2.7.3 給方法傳遞參數
2.8 數組
2.9 運算符
2.9.1 運算符的簡化操作
2.9.2 三元運算符
2.9.3 checked和unchecked運算符
2.9.4 is運算符
2.9.5 sizeof運算符
2.9.6 typeof運算符
2.9.7 運算符的優(yōu)先級
2.10 類型的安全
2.10.1 類型轉換
2.10.2 裝箱(Boxing)和取消裝箱(Unboxing)
2.11 枚舉
2.12 命名空間
2.12.1 using語句
2.12.2 命名空間的別名
2.13 Main()方法
2.13.1 多個Main()方法
2.13.2 給Main()方法傳送參數
2.14 編譯C#文件的更多內容
2.15 控制臺的I/O
2.16 使用注釋
2.17 標識符和關鍵字
2.18 小結
第3章 面向對象的C#語言
3.1 類和繼承
3.1.1 單一繼承
3.1.2 方法的重載
3.1.3 方法的重寫和隱藏
3.1.4 調用函數的基類版本
3.1.5 抽象類和抽象函數
3.1.6 密封類和密封方法
3.1.7 訪問修飾符
3.2 屬性(property)
3.2.1 只讀和只寫屬性
3.2.2 訪問修飾符
3.2.3 虛擬抽象屬性
3.3 內聯
3.4 Object類
3.5 接口
3.5.1 定義和執(zhí)行接口
3.5.2 接口的繼承
3.6 構造和刪除
3.6.1 構造函數
3.6.2 清理:析構函數和Dispose()
3.6.3 使用IDisposable接口
3.6.4 執(zhí)行析構函數和Dispose()
3.7 只讀(readonly)字段
3.8 結構
3.8.1 結構是值類型
3.8.2 結構和繼承
3.8.3 結構的構造函數
3.9 運算符重載
3.10 索引器
3.10.1 給矢量添加索引器
3.10.2 其他索引器的樣例
3.11 小結
第4章 C#的高級論題
4.1 錯誤和異常處理
4.1.1 異常類
4.1.2 捕獲異常
4.1.3 用戶定義的異常類
4.2 用戶定義的數據類型轉換
4.2.1 執(zhí)行用戶定義的類型轉換
4.2.2 多重數據類型轉換
4.3 委托
4.3.1 在C#中使用委托
4.3.2 簡單的委托樣例
4.3.3 BubbleSorter樣例
4.3.4 多路廣播委托
4.4 事件
4.4.1 客戶程序角度的事件
4.4.2 事件樣例:控制臺通知
4.5 C#預處理程序指令
4.5.1 #define和#undef
4.5.2 #if,#elif,#else和#endif
4.5.3 #warning和#error
4.5.4 #region和#endregion
4.5.5 #line
4.6 屬性
4.7 后臺內存管理
4.7.1 值數據類型
4.7.2 引用數據類型
4.8 不安全的代碼
4.8.1 指針
4.8.2 使用指針優(yōu)化性能
4.9 小結
第5章 C#和基類
5.1 System.Object
5.1.1 對引用對象進行等于比較
5.1.2 對值類型進行等于比較
5.2 處理字符串
5.2.1 System.String
5.2.2 建立字符串
5.2.3 格式化字符串
5.3 正則表達式
5.3.1 正則表達式簡介
5.3.2 RegularExpressionsPlayaround樣例
5.3.3 顯示結果
5.3.4 匹配、組和捕獲
5.4 對象組
5.4.1 數組列表
5.4.2 集合
5.4.3 字典
5.5 定制屬性
5.5.1 編寫定制屬性
5.5.2 WhatsNewAttributes樣例
5.6 反射
5.6.1 System.Type類
5.6.2 TypeView樣例
5.6.3 Assembly類
5.6.4 完成WhatsNewAttributes樣例
5.7 線程
5.7.1 多線程的應用程序
5.7.2 線程的處理
5.7.3 ThreadPlayaround樣例
5.7.4 線程的優(yōu)先級
5.7.5 同步
5.8 小結
第6章 在.NET環(huán)境中編程
6.1 Visual Studio.NET
6.1.1 創(chuàng)建項目
6.1.2 解決方案和項目
6.1.3 Windows應用程序代碼
6.1.4 讀取Visual Studio 6項目
6.1.5 項目的瀏覽和編寫
6.1.6 生成(Building)項目
6.1.7 調試
6.2 其他.NET工具
6.3 .NET用法規(guī)則
6.3.1 命名約定
6.3.2 屬性和方法的使用
6.3.3 字段的用法
6.4 小結
第7章 Windows應用程序
7.1 .NET中的Windows應用程序
7.2 Windows Forms
7.2.1 未使用Visual Studio.NET的Windows Forms
7.2.2 使用Visual Studio.NET的Windows Forms
7.2.3 菜單
7.2.4 對話框
7.2.5 可視化繼承
7.3 Windows控件
7.4 定制控件
7.5 小結
第8章 程序集
8.1 程序集的含義
8.1.1 DLL-Hell的解決方案
8.1.2 程序集的特性
8.1.3 應用程序域和程序集
8.2 程序集的結構
8.2.1 程序集的清單
8.2.2 命名空間、程序集和組件
8.2.3 私有程序集和共享程序集
8.2.4 查看程序集
8.2.5 建立程序集
8.3 跨語言支持
8.3.1 CTS和CLS
8.3.2 語言無關性
8.3.3 CLS要求
8.4 給程序集添加資源
8.4.1 創(chuàng)建資源文件
8.4.2 使用資源文件
8.4.3 國際化和資源
8.4.4 使用Visual Studio.NET的本地化樣例
8.5 全局程序集高速緩存
8.5.1 本機圖像生成器
8.5.2 全局程序集高速緩存查看器
8.6 創(chuàng)建共享程序集
8.6.1 共享程序集名
8.6.2 創(chuàng)建一個共享程序集
8.7 配置
8.7.1 配置類別
8.7.2 版本問題
8.7.3 配置目錄
8.8 部署
8.8.1 DLL的部署
8.8.2 創(chuàng)建Merge Module
8.9 小結
第9章 .NET數據訪問
9.1 ADO.NET概述
9.1.1 命名空間
9.1.2 共享類
9.1.3 數據庫特定的類
9.2 使用數據庫連接
9.2.1 高效地使用連接
9.2.2 事務處理
9.3 命令
9.3.1 執(zhí)行命令
9.3.2 調用存儲過程
9.4 快速數據訪問:數據讀取器
9.5 管理數據和關系:數據集
9.5.1 數據表
9.5.2 數據的關系
9.5.3 數據的約束
9.6 XML模式
9.7 填充數據集
9.7.1 用數據適配器來填充DataSet
9.7.2 給XML中的數據集填充數據
9.8 保存對數據集的修改
9.8.1 通過數據適配器進行更新
9.8.2 編寫XML輸出結果
9.9 使用ADO.NET
9.9.1 分層開發(fā)
9.9.2 SQL Server鍵的生成
9.9.3 命名約定
9.9.4 性能
9.10 小結
第10章 查看.NET數據
10.1 DataGrid控件
10.1.1 顯示列表數據
10.1.2 數據源
10.1.3 DataGrid類的層次結構
10.2 數據綁定
10.2.1 簡單的綁定
10.2.2 數據綁定對象
10.3 Visual Studio和數據訪問
10.3.1 創(chuàng)建一個連接
10.3.2 選擇數據
10.3.3 生成一個DataSet
10.3.4 更新數據源
10.3.5 構建模式
10.3.6 其他常見的要求
10.4 小結
第11章 處理XML
11.1 .NET支持的XML標準
11.2 System.Xml命名空間
11.3 在.NET中使用MSXML
11.4 使用System.Xml類
11.5 讀寫流格式的XML
11.5.1 使用XmlTextReader類
11.5.2 使用XmlValidatingReader類
11.5.3 使用XmlTextWriter類
11.6 在.NET中使用DOM
11.7 在NET中使用XPath和XSLT
11.7.1 System.XPath命名空間
11.7.2 System.Xml.Xsl命名空間
11.8 XML和ADO.NET
11.8.1 將ADO.NET數據轉換為XML文檔
11.8.2 把XML文檔轉換為ADO.NET數據
11.8.3 讀寫DiffGram
11.9 在XML中對對象進行串行化
11.10 小結
第12章 文件和注冊表操作
12.1 管理文件系統
12.1.1 表示文件和文件夾的.NET類
12.1.2 Path類
12.1.3 樣例:文件瀏覽器
12.2 移動、復制和刪除文件
12.3 讀寫文件
12.3.1 流
12.3.2 讀寫二進制文件
12.3.3 讀寫文本文件
12.4 讀寫注冊表
12.4.1 注冊表
12.4.2 .NET注冊表類
12.4.3 樣例:SelfPlacingWindow
12.5 小結
第13章 使用Active Directory
13.1 Active Directory的結構
13.1.1 特性
13.1.2 Active Directory
13.1.3 Active Directory數據的特性
13.1.4 模式
13.2 Active Directory的管理
13.2.1 Active Directory Users and Computers工具
13.2.2 ADSI Edit工具
13.2.3 ADSI Viewer工具
13.3 Active Directory Service Interfaces(ADSI)
13.4 Active Directory編程
13.4.1 System.DirectoryServices命名空間中的類
13.4.2 綁定
13.4.3 獲取目錄項
13.4.4 對象集合
13.4.5 緩存
13.4.6 創(chuàng)建新對象
13.4.7 更新目錄項
13.4.8 訪問內部的ADSI對象
13.4.9 在Active Directory中搜索
13.5 搜索用戶對象
13.5.1 用戶界面
13.5.2 獲取模式命名環(huán)境
13.5.3 獲取User類的屬性名
13.5.4 搜索用戶對象
13.6 小結
第14章 ASP.NET頁面
14.1 ASP.NET簡介
14.2 ASP.NET Web Form
14.3 ADO.NET和數據綁定
14.3.1 更新會議登記應用程序
14.3.2 數據綁定的更多內容
14.4 應用程序配置
14.5 小結
第15章 Web服務
15.1 SOAP
15.2 WSDL
15.3 Web服務
15.3.1 創(chuàng)建Web服務
15.3.2 使用Web服務
15.4 擴充Meeting Room Booker樣例
15.4.1 Meeting Room Booker Web服務
15.4.2 Meeting Room Booker客戶
15.5 使用SOAP標題交換數據
15.6 小結
第16章 用戶控件和定制控件
16.1 用戶控件
16.2 定制控件
16.2.1 定制控件的項目配置
16.2.2 基本的定制控件
16.2.3 創(chuàng)建合成的定制控件
16.3 測驗民意的投票控件
16.3.1 Candidate控件
16.3.2 StrawPoll控件構建器
16.3.3 測試民意的投票類型
16.3.4 測試民意的投票控件
16.4 小結
第17章 COM的互操作性
17.1 COM概述
17.2 在.NET中使用COM組件
17.2.1 COM組件的綁定
17.2.2 Runtime Callable Wrappers
17.2.3 使用C++COM組件
17.2.4 用Recordset填寫DataSet
17.2.5 COM組件的后期綁定
17.2.6 釋放COM對象
17.2.7 在.NET中使用ActiveX控件
17.3 在COM中使用.NET組件
17.3.1 COM可調用的包裝器
17.3.2 C#階乘組件
17.3.3 .NET組件的早期綁定
17.4 平臺調用服務
17.5 小結
第18章 COM+服務
18.1 COM+服務的展望
18.2 COM+服務包括的內容
18.2.1 事務
18.2.2 Just In Time Activation(JIT)
18.2.3 安全
18.2.4 事件
18.2.5 對象池
18.2.6 消息隊列
18.2.7 Component Load Balancing服務
18.3 與.NET程序集一起使用COM+服務
18.3.1 與.NET程序集一起使用事務處理
18.3.2 與.NET程序集一起使用對象池
18.3.3 與.NET程序集一起使用JIT激活服務
18.4 小結
第19章 使用GDI+繪圖
19.1 理解繪圖規(guī)則
19.1.1 GDI和GDI+
19.1.2 繪制圖形
19.1.3 使用OnPaint繪制圖形
19.1.4 使用剪切區(qū)域
19.2 測量坐標和區(qū)域
19.2.1 Point和PointF
19.2.2 Size和SizeF
19.2.3 Rectangle和RectangleF
19.2.4 Region
19.3 調試的一個注意事項
19.4 繪制可滾動的窗口
19.5 顏色
19.5.1 紅綠藍(RGB)值
19.5.2 命名的顏色
19.5.3 圖形顯示模式和安全的調色板
19.5.4 安全調色板
19.6 畫筆和鋼筆
19.6.1 畫筆
19.6.2 鋼筆
19.7 繪制圖形和線條
19.8 顯示圖像
19.9 繪制文本
19.10 字體和字體系列
19.11 樣例:枚舉字體系列
19.12 編輯文本文檔:CapsEditor樣例
19.12.1 Invalidate()方法
19.12.2 計算項目和文檔的大小
19.12.3 OnPaint()
19.12.4 坐標轉換
19.12.5 響應用戶的輸入
19.13 打印
19.14 小結
第20章 訪問Internet
20.1 WebClient類
20.1.1 下載文件
20.1.2 基本的Web客戶樣例
20.1.3 上傳文件
20.2 WebRequest類和WebResponse類
20.3 把輸出結果作為HTML頁面顯示
20.4 實用類
20.4.1 URI
20.4.2 IP地址和DNS名稱
20.5 較低層的協議
20.6 小結
第21章 帶有.NET Remoting的分布式應用程序
21.1 .NET Remoting的含義
21.1.1 Web Services Anywhere
21.1.2 CLR Object Remoting
21.2 .NET Remoting概述
21.3 環(huán)境
21.3.1 激活
21.3.2 屬性和特性
21.3.3 環(huán)境之間的通信
21.4 遠程對象、客戶機和服務器
21.4.1 遠程對象
21.4.2 簡單的服務器
21.4.3 簡單的客戶機
21.5 .NET Remoting體系結構
21.5.1 信道
21.5.2 格式標識符
21.5.3 ChannelServices和RemotingConfiguration
21.5.4 對象的激活
21.5.5 消息接收器
21.5.6 在遠程方法中傳遞對象
21.5.7 生存期管理
21.6 .NET Remoting的其他特性
21.6.1 配置文件
21.6.2 駐留應用程序
21.6.3 類、接口和Soapsuds
21.6.4 跟蹤服務
21.6.5 異步的遠程調用
21.6.6 遠程調用和事件
21.6.7 調用環(huán)境
21.7 小結
第22章 Windows服務
22.1 Windows服務
22.2 Windows服務的體系結構
22.2.1 服務程序
22.2.2 服務控制程序
22.2.3 服務配置程序
22.3 System.ServiceProcess命名空間
22.4 創(chuàng)建Windows服務
22.4.1 使用套接字的類庫
22.4.2 TCPClient樣例
22.4.3 Windows服務項目
22.4.4 線程和服務
22.4.5 服務的安裝
22.4.6 安裝程序
22.5 服務的監(jiān)視和控制
22.5.1 MMC計算機管理
22.5.2 net.exe
22.5.3 sc.exe
22.5.4 Visual Studio.NET Server Explorer
22.5.5 ServiceController類
22.6 故障排除
22.6.1 交互式服務
22.6.2 事件日志
22.6.3 性能監(jiān)視
22.7 Windows 2000的服務特性
22.7.1 網絡綁定的變化和電源事件
22.7.2 故障恢復
22.7.3 作為服務的COM+應用程序
22.8 小結
第23章 .NET的安全性
23.1 代碼訪問的安全性
23.1.1 代碼組
23.1.2 代碼訪問權限和權限集
23.1.3 策略的級別:Machine、User和Enterprise
23.2 對Framework中安全性的支持
23.2.1 要求權限
23.2.2 請求權限
23.2.3 隱式的權限
23.2.4 拒絕權限
23.2.5 斷言權限
23.2.6 創(chuàng)建代碼訪問權限
23.2.7 聲明的安全性
23.3 基于角色的安全性
23.3.1 Principal
23.3.2 Windows Principal
23.3.3 角色
23.3.4 聲明基于角色的安全性
23.4 安全策略的管理
23.4.1 安全配置文件
23.4.2 代碼組和權限的管理
23.4.3 安全性的啟用和禁用
23.4.4 重置安全策略
23.4.5 代碼組的創(chuàng)建
23.4.6 代碼組的刪除
23.4.7 代碼組權限的更改
23.4.8 權限集的創(chuàng)建和應用
23.4.9 使用強名稱發(fā)布代碼
23.4.10 使用證書發(fā)布代碼
23.4.11 區(qū)域的管理
23.5 小結
附錄A 面向對象編程的原則
A.1 VB 6程序員的注意事項
A.2 什么是對象
A.3 編程中的對象
A.3.1 類成員
A.3.2 類的定義
A.3.3 對象的實例化和使用
A.3.4 使用靜態(tài)成員
A.3.5 引用類型的注意事項
A.3.6 方法的重載
A.3.7 屬性
A.4 繼承
A.4.1 在C#中使用繼承
A.4.2 類的層次結構和類的設計
A.4.3 多態(tài)性和虛方法
A.4.4 方法的隱藏
A.4.5 抽象函數和基類
A.4.6 密封類和密封方法
A.5 接口
A.6 構造和刪除
A.7 小結
附錄B C#的編譯器選項
B.1 使用C#編譯器
B.1.1 輸入和輸出文件
B.1.2 編譯不同的項目類型
B.1.3 響應文件
B.2 編譯器選項