第1章 .NET Framework概述 1
1.1 .NET Framework和CLR 1
1.1.1 通用类型系统CTS 1
1.1.2 装箱和拆箱 1
1.2 代码的编译和运行 2
1.2.1 编译和MSIL 2
1.2.2 编译器以及命令行语法 3
1.3 元数据 4
1.3.1 PE文件的格式 4
1.3.2 Attribute属性 5
1.4 垃圾回收 5
1.5 委托和事件 8
1.5.1 委托的定义 8
1.5.2 事件 11
第2章 流与文件 13
2.1 使用Stream类管理字节流 13
2.1.1 Stream类的常用属性和方法 13
2.1.2 使用FileStream类操作文件 14
2.1.3 使用MemoryStream类管理内存数据 15
2.1.4 使用BufferedStream类提高流性能 16
2.1.5 使用NetworkStream类访问网络数据流 16
2.2 文本文件和TextReader、TextWriter类 16
2.2.1 TextReader和TextWriter类的常用属性和方法 16
2.2.2 操纵文本文件 17
2.3 操纵二进制文件 18
2.4 对文件和文件夹的操作 18
2.4.1 Directory类的常用静态方法 19
2.4.2 DirectoryInfo类的常用属性和方法 19
2.4.3 File类的常用静态方法 21
2.4.4 FileInfo类的常用属性和方法 23
2.4.5 使用Path类访问文件路径 24
2.4.6 使用DriveInfo类访问驱动器 25
2.5 使用FileSystemWatcher类监控文件系统 26
第3章 集合与泛型 28
3.1 数组和数组列表 28
3.2 队列 30
3.3 栈 32
3.4 哈希表和有序表 33
3.5 专用集合 35
3.6 使用泛型 36
3.7 自定义集合类 38
3.7.1 实现IEnumerable接口 38
3.7.2 继承CollectionBase类 40
第4章 多线程应用程序 42
4.1 创建多线程应用程序 42
4.1.1 线程和Thread类 42
4.1.2 线程状态的转换与控制 45
4.2 使用ThreadPool类管理线程池 49
4.3 管理异步环境中的线程 51
4.3.1 使用Windows的回调方法 51
4.3.2 调用Join方法 52
4.3.3 使用WaitHandle类 53
4.3.4 使用ReaderWriterLock类 55
第5章 程序集与反射 58
5.1 程序集和Assembly类 58
5.2 反射和Type类 59
5.3 使用反射调用类库中的方法 60
5.3.1 被调用的类和方法都是已知的情况 60
5.3.2 被调用的类和方法部分已知的情况 63
5.4 应用程序域 65
5.4.1 应用程序域的创建 66
5.4.2 在应用程序域中加载程序集 67
5.4.3 对另一应用程序域内加载的类库进行操作 69
5.4.4 卸载应用程序域 70
第6章 调用非.NET托管程序 71
6.1 调用非托管的PE程序 71
6.2 调用非托管动态链接库 73
6.3 调用Windows API 74
6.4 .NET与COM的互操作性 79
6.4.1 在.NET程序中调用Microsoft Word 79
6.4.2 在.NET程序中调用Microsoft Excel 86
第7章 处理XML文档 90
7.1 .NET框架对XML提供全面支持 90
7.2 读写XML文档 91
7.2.1 使用XmlReader类 91
7.2.2 使用XmlWriter类 93
7.3 DOM和XmlDocument类 95
7.3.1 什么是DOM模型 95
7.3.2 XmlDocument及相关类 96
7.3.3 应用示例 98
7.4 使用XSLT转换XML文档 99
7.4.1 XslTransform类及其应用 99
7.4.2 在Web页面中使用XML控件 100
7.5 XML与DataSet 103
7.6 XML序列化与反序列化 105
第8章 Web Services 107
8.1 Web Services的主要功能和特点 107
8.1.1 Web Services是什么 107
8.1.2 与Web Services有关的协议 108
8.2 Visual C# .NET Web Services编程 108
8.2.1 在.NET环境下支持Web服务的类 108
8.2.2 实现Web Services服务端 109
8.2.3 实现Web Services客户端 111
8.3 使用Web Services实现信息集成 115
8.3.1 在一个应用中集成多个Web服务 115
8.3.2 在Web服务中使用数据库 117
8.3.3 跨平台调用Web服务 119
第9章 使用加密技术 121
9.1 计算数据的哈希值 121
9.2 使用对称加密技术 123
9.3 使用不对称加密技术 127
第10章 .NET Socket网络编程 134
10.1 Socket网络编程接口和.NET Socket类 134
10.1.1 Socket的概念 134
10.1.2 Socket类简介 134
10.2 同步和异步通信方法 140
10.3 通用TCP客户端 142
第11章 使用TCP和UDP通信协议 150
11.1 使用TCP通信协议 150
11.1.1 .NET框架下使用TCP通信 150
11.1.2 使用TcpListener和TcpClient类实现聊天室 151
11.2 使用UDP通信协议 163
11.2.1 .NET框架下使用UDP通信 164
11.2.2 使用UdpClient类收发短信 164
第12章 TCP/IP通信应用层常用协议编程 168
12.1 WebRequest及其相关类 168
12.2 在.NET框架下实现FTP应用 170
12.2.1 FTP及应用程序 170
12.2.2 FtpWebRequest及其相关类介绍 173
12.2.3 使用WebClient类实现FTP文件操作 174
12.2.4 使用FtpWebRequest类实现FTP文件操作 175
12.3 在.NET框架下实现HTTP应用 178
12.3.1 HTTP及应用程序 178
12.3.2 使用WebClient类实现HTTP操作 181
12.3.3 使用HttpWebRequest类实现HTTP操作 182
12.4 在.NET框架下实现SMTP应用 185
12.4.1 SmtpClient及其相关类 185
12.4.2 使用SmtpClient类实现邮件发送 186
12.4.3 POP编程 190
12.5 网络编程中常用的编码 190
第13章 应用程序系统的调试与配置 193
13.1 .NET应用程序系统的调试 193
13.1.1 .NET程序的Debug和Release版本 193
13.1.2 使用Trace类输出跟踪消息 194
13.1.3 使用TraceSwitch类控制信息输出 196
13.1.4 使用Debug类输出调试信息 198
13.2 .NET应用程序系统的配置 199
13.2.1 .NET托管程序的配置和配置文件 199
13.2.2 .NET配置的基本架构 200
13.2.3 appSettings和ConnectionStrings配置节 202
13.2.4 自定义配置节 205
第14章 资源文件、文本编码和区域性 210
14.1 在.NET应用程序中使用资源文件 210
14.1.1 资源和资源文件 210
14.1.2 使用二进制格式的资源文件 211
14.1.3 使用XML格式的资源文件 213
14.2 字符集与编码问题 216
14.2.1 字符集 216
14.2.2 编码、解码及Encoding类 218
14.2.3 编码的保存与转换 222
14.3 文化和区域性特征 222
14.3.1 CultureInfo类 222
14.3.2 区域性的文字、日期和数字格式 224
14.3.3 应用程序区域性配置 228
第15章 Microsoft.NET框架的版本 230
15.1 .NET框架各种版本概览 230
15.1.1 .NET Framework 1.0 230
15.1.2 .NET Framework 2.0 230
15.1.3 .NET Framework 3.0 230
15.1.4 .NET Framework 3.5 231
15.1.5 .NET Framework 4.0 231
15.1.6 .NET Framework版本兼容性问题 231
15.2 ADO.NET EF基础知识 232
15.2.1 Entity Framework概述 232
15.2.2 EF映射和SSDL、CSDL、MSL 232
15.2.3 EF实体类对象的操作 236
15.3 Linq基础知识 241
15.3.1 Linq及其常用关键字 241
15.3.2 Linq to SQL 244
15.3.3 Linq to XML 249