第1章 C#概述 1
1.1 .NET简介 1
上篇 C#基础知识 1
1.2 C#简介 2
1.3 本书编排体系 2
1.4 下载与安装.NET SDK 4
1.5 本书源程序下载及勘误表 5
第2章 编译运行一个C#简单程序 6
2.1 设置C#环境参数 6
2.3 在命令行状态下用SDK编译运行一个C#程序 7
2.2 设置从浏览器到命令行状态的快捷转换 7
2.4 C#命令行编译器csc的常用格式 10
2.5 在Visual C#.NET集成开发环境(IDE)中编译运行一个C#程序 11
第3章 C#数据类型 14
3.1 C#值类型 14
3.1.1 简单数据类型 14
3.1.2 结构类型 19
3.1.3 枚举类型 21
3.2 引用数据类型 22
3.2.1 字符串类型(string) 25
3.2.2 数组数据类型(array) 45
3.3 装箱和拆箱 60
第4章 C#类 62
4.1 类成员变量 62
4.2 C#构造函数和析构函数 65
4.3 类继承 68
4.4 成员函数 70
4.4.1 成员函数级别 70
4.4.2 成员函数参数 73
4.4.3 函数重载(overloading) 76
4.4.4 虚拟函数改写 78
4.4.5 虚拟函数隐藏 80
4.5 类成员属性函数 83
4.6 类索引器 84
4.7 事件函数 86
4.8 抽象类和密封类 96
4.9 访问权限 98
4.10 类成员修饰符 100
第5章 C#流程控制语句 104
5.1 条件执行语句 104
5.2 选择执行语句 110
5.3.1 for循环 112
5.3 循环语句 112
5.3.2 foreach循环 114
5.3.3 while循环 115
5.3.4 do...while循环 116
5.4 转移语句 117
5.4.1 goto语句 118
5.4.2 break/continue语句 123
第6章 异常处理 124
6.1 捕获一个异常 125
6.2 捕获所有异常 126
6.3 finally语句 127
6.4 主动触发一个异常 132
第7章 C#输入输出操作 136
7.1 字符串文件的输入输出 136
7.2 二进制文件的输入输出 139
7.3 单字符输入输出 141
7.4 加密读写文件 143
7.5 随机读写文件内容 145
7.6 在操作系统级对文件和目录的操作 148
7.6.1 创建/删除目录 148
7.6.2 创建/删除文件 150
7.6.3 显示目录 151
7.7 内存读写 153
7.8 网络端口读写 155
第8章 多线程处理 159
8.1 创建一个线程 159
8.2 为线程设置名字 161
8.3 Sleep函数 164
8.4 设置线程优先级 165
8.5 线程的后端与前端运行 167
8.6 终止一个线程 169
8.7 线程的暂停与再运行 172
8.8 线程Join函数 174
8.9 线程异常 176
8.10 线程加锁 179
第9章 与未操控语句交互运作 187
9.1 C#中调用COM组件 187
9.1.1 将COM类库转换为.NET组件 187
9.1.2 在C#中具体使用一个COM组件 191
9.1.3 编译运行一个调用COM组件的C#程序 192
9.2 在.NET框架外调用.NET组件 195
9.2.1 为非.NET程序创建一个.NET组件 195
9.1.4 安装一个使用COM组件的.NET程序 195
9.2.2 为COM客户程序包装一个.NET组件 197
9.2.3 注册一个.NET组件为COM组件 198
9.2.4 在COM程序中具体使用一个.NET组件 198
9.2.5 安装一个使用.NET组件的COM客户程序 200
9.3 在C#中使用未受操控的语句 200
9.3.1 包装一个DLL函数 200
9.3.2 调用一个DLL库中的函数 201
9.3.3 从C#中传送一个复杂类型的变量给DLL函数 202
9.4 在C#中使用指针 207
9.4.1 在unsafe语句中使用指针 208
9.4.2 在fixed语句中锁定一个C#变量 210
下篇 高级编程实例篇 212
第10章 用C#编写Windows用户界面程序WindowsGUI 212
10.1 创建WindowsGUI项目文件 212
10.2 用DataSet和DataTable在内存中构造一个数据库 214
10.3 用DataGridTableStyle控制DataGrid的输出格式 217
10.4 增加、删除和修改DataGrid中的记录 219
10.5 恢复DataGrid中修改前的数据 220
10.7 保存DataGrid的当前数据到数据库中 221
10.6 刷新DataGrid中的数据 221
10.8 调试WindowsGUI程序 222
10.9 WindowsGUI源程序清单及DOS提示符下的编译方法 226
10.9.1 Windows GUI源程序清单 226
10.9.2 DOS提示符下的编译方法 234
第11章 用C#编写组件程序MyDAO 235
11.1 .NET组件简介 236
11.2 XML简介 236
11.3 创建.NET组件MyDAO 237
11.3.1 GetList函数 238
11.3.2 Add函数 241
11.3.3 Update函数 242
11.3.4 Delete函数 244
11.3.5 Execute函数 244
11.4 从WindowsGUI客户端程序去调用.NET组件MyDAO 249
11.4.1 在LoadData函数中调用.NET组件MyDAO 249
11.4.2 在SaveData函数中调用.NET组件MyDAO 253
11.5 调试.NET组件MyDAO程序 255
11.6 MyDAO源程序清单及DOS提示符下的编译方法 255
11.6.1 MyDAO源程序清单 255
11.6.2 DOS提示符下的编译方法 259
12.1 网络服务简介 261
第12章 网络服务(Web Service) 261
12.2 一个简单的网络服务HelloService 262
12.3 从IIS上去调用/测试网络服务HelloService 265
12.4 创建网络服务ProductService并从中调用我们的.NET组件MyDAO 267
12.5 从Windows应用程序WindowsGUI去调用网络服务ProductService 270
12.5.1 在LoadData函数中调用网络服务ProductService 271
12.5.2 在SaveData()函数中调用网络服务ProductService 272
12.6 调试网络服务程序 272
12.7 网络服务(MyService)源程序清单及DOS提示符下的编译方法 274
13.1 准备一个简单的数据库 276
第13章 在C#中调用数据库 276
13.2 从MyDAO组件去查询数据 278
13.3 从MyDAO组件去增加/删除和修改数据 281
13.4 .NET组件MyDAO源程序清单及DOS提示符下的编译方法 283
13.4.1 .NET组件MyDAO源程序清单 283
13.4.2 DOS提示符下的编译方法 298
第14章 将.NET组件转换为事务处理COM+组件 299
14.1 事务处理控制简介 299
14.2 对Product.cs的修改 300
14.3 将MyDAO.dll注册为一个COM+程序 301
14.5 实地测试新版MyDAO.dll对事务处理的控制 302
14.4 将MyDAO.dll安装到GAC中 302
14.6 COM+组件MyDAO源程序清单及DOS提示符下的编译方法 303
14.6.1 COM+组件MyDAO源程序清单 303
14.6.2 DOS提示符下的编译方法 307
第15章 用C#编写网站界面程序WebGUI 309
15.1 ASP.NET简介 309
15.2 创建WebGUI项目文件 309
15.3 设置WebGUI界面 310
15.4 定义类变量 311
15.5 设置DataGrid的初始状态 311
15.6 LoadData()函数 313
15.7 绑定DataGrid与DataSet 315
15.8 在PageLoad()函数中调用InitControls()、LoadData()和BindGrid()函数 316
15.9 编辑/删除一行数据 317
15.10 增加一行数据 319
15.11 刷新、恢复和保存数据 320
15.12 调试WebGUI程序 321
15.13 WebGUI源程序清单及DOS提示符下的编译方法 321
15.13.1 WebGUI源程序清单 321
15.13.2 DOS提示符下的编译方法 327
附录A C#语法程序示例 328
附录B C#关键字一览表 335
附录C C#与Java 338