第1章 .Net简介 1
1.1 新一代编程语言——C# 1
1.2 Microsoft.Net 5
1.2.1 ASP.Net 5
1.2.2 WinForms 6
1.2.3 通用语言运行环境 7
1.3 通用语言运行环境的技术基础 9
1.3.1 NGWS Runtime运行过程 9
1.3.2 NGWS Runtime组成 12
第2章 C#编程环境 14
2.1 Microsoft Visual Studio.Net 7.0 14
2.2 .Net的IDE界面 15
2.3 应用模板 22
2.4 其他工具 24
第3章 C#编程环境 28
3.1 编制第一个C#程序 28
3.2 C#程序基本框架 30
3.2.1 C#工程和方案 31
3.2.2 程序启动 31
3.2.3 程序终止 32
3.2.4 声明 32
3.2.5 成员 32
3.2.6 签名和重载 34
3.3 C#工程类型 35
3.4 C#工程文件项 39
3.5.1 方案的管理 42
3.5 方案和工程的管理 42
3.5.2 工程的管理 44
第4章 C#类型 46
4.1 值类型 46
4.1.1 缺省构造函数 46
4.1.2 结构类型 47
4.1.3 简单类型 47
4.1.4 布尔类型 48
4.2 引用类型 48
4.2.4 接口类型 49
4.2.7 值类型和引用类型的比较 49
4.2.6 代理类型 49
4.2.5 数组类型 49
4.2.3 字符串类型 49
4.2.2 object类型 49
4.2.1 class类型 49
4.3 绑定链接与反绑定链接 50
4.3.1 绑定链接 50
4.3.2 反绑定链接 52
4.4 非安全代码 52
4.4.1 unsafe修饰符 53
4.4.2 fixed修饰符 53
4.4.3 非安全代码的编译 55
第5章 C#变量 57
5.1 静态变量 57
5.2 实例变量 57
5.3.1 一维数组 58
5.3 数组变量 58
5.3.2 多维数组 59
5.4 参数变量 59
5.4.1 传值参数 59
5.4.2 引用参数 61
5.4.3 输出参数 62
5.5 局部变量 63
5.6 变量的缺省值 63
5.7 变量的类型转换 64
5.7.1 隐式类型转换 64
5.7.2 显式类型转换 64
6.1 运算符 65
第6章 C#运算符、表达式、语句 65
6.2 表达式 66
6.3 语句 68
6.3.1 选择语句 69
6.3.2 循环语句 70
6.3.3 跳转语句 72
6.3.4 lock语句 73
6.3.5 using语句 74
第7章 类 77
7.1 类声明 77
7.1.1 类修饰符 77
7.1.2 类的基本规范 78
7.2 类成员 79
7.2.2 new修饰符 80
7.2.1 类继承 80
7.2.3 静态和实例成员 81
7.3 构造函数 82
7.3.1 实例构造函数 82
7.3.2 静态构造函数 83
7.4 析构函数 85
7.5 常量 85
7.6 字段 86
7.6.1 字段类别 87
7.6.2 只读字段 88
7.6.3 字段初始化 90
7.8 特性 92
7.7 方法 92
7.9 事件 96
7.10 下标指示器 98
7.11 运算符 100
7.11.1 一元运算符 101
7.11.2 二元运算符 101
7.11.3 转换运算符 101
第8章 结构 103
8.1 结构声明 103
8.2 类与结构的区别 104
8.3 结构实例 108
第9章 异常处理 111
9.1 C#异常处理简介 111
9.2.1 checked和unchecked语句 112
9.2 C#异常处理过程 112
9.2.2 异常处理语句 114
9.2.3 throw语句 119
9.3 C#通用异常类 120
9.4 创建用户异常类 121
第10章 代理 123
10.1 代理声明 123
10.2 代理实例化 124
10.3 代理调用 127
10.4 代理和事件 127
10.4.1 控制台应用例子 127
10.4.2 窗口事件例子 132
11.1 属性类 137
第11章 属性 137
11.2 属性声明规范 139
11.3 属性实例化 141
11.4 属性例子 142
第12章 名字空间 146
12.1 编译单元 146
12.2 名字空间声明 146
12.2.1 名字空间声明 146
12.2.2 名字空间成员 148
12.3 using指令 149
第13章 C#工程调试 155
13.1 Visual Studio.Net 7.0集成调试器 155
13.2 调试设置和准备 156
13.3.1 设置断点 157
13.3 调试器的使用 157
13.3.2 程序执行控制 159
13.3.3 连接到正在运行的程序 161
13.3.4 调试工具 162
13.3.5 编辑并继续 164
13.4 诊断语句 165
13.5 其他调试器 166
13.5.1 WINDBG调试工具 166
13.5.2 Dr.Watson调试工具 166
第14章 组件编程 167
14.1 COM简介 167
14.1.1 应用程序结构 167
14.1.2 组件对象模型 168
14.1.3 COM编程基础 169
14.2 COM+简介 173
14.2.1 COM+与COM的比较 173
14.2.2 COM+与MTS的比较 174
14.2.3 COM+提供的新服务 175
14.3 .Net与COM 177
14.3.1 .Net与COM的交互 177
14.3.2 向COM展现.Net对象 179
14.3.3 向.Net展现COM对象 181
14.4 .Net访问COM对象的例子 183
14.4.1 前期连接的例子 183
14.4.2 后期连接的例子 186
14.5.1 ATL组件应用 189
14.5 .Net与COM+ 189
14.5.2 C#的类库应用 193
14.5.3 C#的Windows应用程序 194
第15章 接口 199
15.1 接口声明 199
15.2 接口成员 200
15.3 接口实现 205
15.3.1 显式接口成员实现 206
15.3.2 接口映射 208
15.3.3 接口实现继承 211
15.3.4 接口重实现 213
15.4 接口实例 214
16.1.1 ADO.Net简介 216
16.1 ADO.Net技术 216
第16章 数据库编程 216
16.1.2 ADO和ADO.Net的比较 220
16.2 ADO.Net组件和对象模型 221
16.2.1 DataSet 222
16.2.2 Managed Provider 223
16.3 ADO.Net编程 224
16.4 ADO.Net编程实例 226
第17章 文件操作 235
17.1 .Net框架对文件操作的支持 235
17.2 C#的文件操作例子 236
第18章 线程应用 241
18.1 线程基本概念 241
18.2.1 创建线程 242
18.2 线程的管理 242
18.2.2 线程的运行 245
18.2.3 线程的销毁 246
18.2.4 线程的调度 246
18.2.5 线程存储 247
18.2.6 一个简单的线程例子 248
18.3 线程同步 250
18.3.1 同步上下文属性 250
18.3.2 同步代码区域 250
18.3.3 手工同步 251
18.3.4 线和同步实例 252
19.1 Web应用的要求 258
第19章 分布式Web应用 258
19.2 Web Forms 259
19.2.1 Web Forms简介 259
19.2.2 Web Form的创建 261
19.3 Web Service 261
19.3.1 Web Service简介 261
19.3.2 Web Service的构成 262
19.3.3 Web Service的编程模型 263
19.4 分布式Web应用实例 264
第20章 其他应用 272
20.1 API函数调用 272
20.2 XML文档 273
20.3 版本控制 276