第1章 C#程序设计基础 1
1.1 程序设计语言 1
1.1.1 程序设计语言的定义 1
1.1.2 程序设计语言的分类 1
1.2 程序设计方法 3
1.2.1 结构化程序设计方法 3
1.2.2 面向对象程序设计方法 4
1.3 C#程序设计语言概述 6
1.3.1 C#语言的起源与发展 6
1.3.2 C#语言的特点 6
1.4 C#集成开发环境 8
1.4.1 Visual Studio的发展历史 8
1.4.2 Visual Studio 2008集成开发环境 9
1.4.3 控制台应用程序的开发步骤 9
1.4.4 窗体(Windows)应用程序的开发步骤 10
1.5 习题 13
第2章 基本数据类型 14
2.1 一个简单的程序——华氏温度到摄氏温度的转换 14
2.1.1 创建控制台应用程序 14
2.1.2 代码解释 15
2.2 基本数据类型 15
2.2.1 数值类型 16
2.2.2 字符类型和字符串类型 17
2.2.3 布尔类型与对象类型 17
2.3 变量与常量 17
2.3.1 标识符与命名规则 17
2.3.2 变量 19
2.3.3 常量 20
2.3.4 类型转换 21
2.3.5 装箱与拆箱 23
2.4 基本运算 24
2.4.1 算术运算 24
2.4.2 关系运算与逻辑运算 25
2.4.3 条件运算 27
2.4.4 赋值运算 27
2.4.5 运算符的优先级 28
2.5 数组的定义和使用 29
2.5.1 数组的定义 29
2.5.2 数组的引用 30
2.5.3 二维数组 30
2.6 习题 31
第3章 选择结构和循环结构 34
3.1 一个简单的选择结构程序——分段函数的实现 34
3.1.1 创建C#控制台应用程序 34
3.1.2 选择结构解析 35
3.2 if语句——二分支选择语句 35
3.2.1 if…语句 35
3.2.2 if…else…语句 36
3.2.3 if…else if…else…语句 38
3.3 switch语句——多分支选择语句 39
3.4 一个简单的循环结构程序——等差数列求和 41
3.4.1 创建C#控制台应用程序 41
3.4.2 循环结构解析 42
3.5 while语句和do…while语句 42
3.5.1 while语句 43
3.5.2 do…while语句 44
3.6 for语句和foreach语句 45
3.6.1 for语句 45
3.6.2 foreach语句 47
3.7 跳转语句 48
3.7.1 break语句和continue语句 48
3.7.2 goto语句 51
3.7.3 return语句 51
3.8 习题 52
第4章 面向对象编程方法 57
4.1 一个简单的程序——虚数类的定义与应用 57
4.1.1 编写虚数类的代码 57
4.1.2 程序结构解析 59
4.2 类和对象 60
4.2.1 类和对象的定义 60
4.2.2 对象的访问方法及访问控制 61
4.2.3 类的构造函数和析构函数 63
4.2.4 类的属性 66
4.2.5 类的静态成员 67
4.3 类的继承、重载与多态 69
4.3.1 继承 69
4.3.2 重载 71
4.3.3 类的多态 71
4.4 运算符的重载 73
4.4.1 一元运算符重载 73
4.4.2 二元运算符重载 75
4.4.3 类型转换运算符重载 76
4.5 接口及其实现 76
4.5.1 接口的声明 76
4.5.2 接口的实现 77
4.6 方法的委托 79
4.6.1 一个简单的方法委托程序 79
4.6.2 委托类型的声明和实例化 81
4.6.3 委托的引用 81
4.6.4 委托的组合 84
4.7 常用的几个类 86
4.7.1 string类 86
4.7.2 DateTime类 88
4.7.3 Math类和Random类 91
4.8 命名空间 93
4.8.1 命名空间的声明 93
4.8.2 命名空间的导入 94
4.9 习题 96
第5章 异常处理 102
5.1 一个产生异常的简单程序 102
5.1.1 程序代码 102
5.1.2 异常处理过程分析 103
5.2 异常的捕获与处理 103
5.2.1 异常的概念 103
5.2.2 try-catch结构 103
5.2.3 try-catch-catch结构 105
5.2.4 try-catch-finally结构 107
5.3 异常的抛出及自定义异常 108
5.3.1 抛出异常 108
5.3.2 用户自定义异常 110
5.4 习题 112
第6章 窗体应用程序设计 116
6.1 一个简单的文本编辑器 116
6.1.1 创建文本编辑器程序的步骤 116
6.1.2 程序结构解析 118
6.2 组件的公共属性、事件和方法 119
6.2.1 Object类 119
6.2.2 Control类 121
6.3 常用的控件 124
6.3.1 按钮类控件 125
6.3.2 文本类控件 128
6.3.3 列表类控件 138
6.4 常用的对话框 153
6.4.1 打开和保存文件对话框 153
6.4.2 字体对话框和颜色对话框 156
6.4.3 文件夹浏览对话框 156
6.5 消息对话框 157
6.5.1 模式对话框与非模式对话框 158
6.5.2 基于MessageBox类的消息对话框 160
6.6 菜单和工具栏的设计 162
6.6.1 主菜单 162
6.6.2 弹出式菜单 164
6.6.3 工具栏 166
6.7 实例—多文档界面编辑器 167
6.7.1 创建MDI应用程序框架 167
6.7.2 设计菜单和工具栏 168
6.7.3 编写事件处理函数 170
6.8 习题 176
第7章 目录和文件操作 178
7.1 一个简单的文件读写程序 178
7.1.1 创建C#窗体应用程序 178
7.1.2 程序结构解析 181
7.2 目录管理 182
7.2.1 目录存在的判断 182
7.2.2 目录的创建和删除 182
7.2.3 当前工作目录的获取 183
7.2.4 目录相关信息的获取 183
7.2.5 目录大小的获取 185
7.3 文件管理 186
7.3.1 文件的复制、移动和删除 187
7.3.2 文件信息的获取和设置 187
7.4 文本文件的读写 189
7.4.1 读文本文件 189
7.4.2 写文本文件 191
7.5 二进制文件的读写 192
7.5.1 写二进制文件 193
7.5.2 读二进制文件 194
7.6 习题 197
第8章 ActiveX控件和自定义组件开发 199
8.1 一个简单ActiveX控件的开发 199
8.1.1 创建ActiveX控件程序 199
8.1.2 生成和调用ActiveX控件 200
8.2 ActiveX控件 201
8.2.1 什么是ActiveX控件 201
8.2.2 ActiveX控件开发实例 202
8.3 自定义组件 211
8.3.1 创建自定义组件 212
8.3.2 使用自定义组件 214
8.4 习题 217
第9章 多线程 218
9.1 一个简单的多线程应用程序 218
9.1.1 创建控制台多线程应用程序 218
9.1.2 程序说明 220
9.2 线程及其实现方法 220
9.2.1 线程的概念 220
9.2.2 线程的实现方法 221
9.2.3 线程的优先级 226
9.3 线程的同步控制 228
9.3.1 为什么要同步控制 228
9.3.2 使用ManualResetEvent类 229
9.3.3 使用AutoResetEvent类 234
9.4 线程池 235
9.5 线程对控件的访问 240
9.6 习题 244
第10章 数据库开发技术 246
10.1 一个简单的C#数据库应用程序 246
10.1.1 创建数据库和数据表 246
10.1.2 创建数据库应用程序 248
10.1.3 程序结构解析 249
10.2 数据库系统与ADO.NET概述 250
10.2.1 数据库系统 250
10.2.2 ADO.NET概述 251
10.3 SQL语言简介 251
10.3.1 Select语句 252
10.3.2 Insert语句 253
10.3.3 Update语句 254
10.3.4 Delete语句 254
10.4 ADO.NET对象 254
10.4.1 ADO.NET体系结构 254
10.4.2 Connection对象 255
10.4.3 Command对象 255
10.4.4 DataReader对象 257
10.4.5 DataAdapter对象 259
10.4.6 DataSet对象 261
10.5 数据库操作举例 265
10.5.1 数据检索 265
10.5.2 数据添加 268
10.5.3 数据更新 270
10.5.4 数据删除 273
10.6 习题 275
第11章 Web应用开发 277
11.1 一个简单的ASP.NET应用程序 277
11.1.1 创建ASP.NET应用程序 277
11.1.2 程序结构解释 279
11.2 关于ASP.NET 281
11.3 ASP.NET控件和对象 282
11.3.1 ASP.NET控件 282
11.3.2 ASP.NET常用对象 287
11.4 ASP.NET数据库应用程序 294
11.4.1 数据库的连接和数据浏览 294
11.4.2 对数据库的增、删、改操作 295
11.5 Web服务的应用 298
11.5.1 什么是Web服务 298
11.5.2 Web服务的创建 298
11.5.3 Web服务的调用 301
11.6 习题 304
第12章 应用程序的发布 306
12.1 关于应用程序的发布 306
12.2 由手工复制文件来发布程序 306
12.2.1 窗体应用程序的发布 307
12.2.2 使用WinRAR发布程序 311
12.2.3 IIS安装与Web应用程序发布 313
12.3 使用.NET项目发布程序 316
12.3.1 制作窗体应用程序的安装程序 317
12.3.2 制作ASP.NET应用程序的安装程序 322
12.3.3 制作Web服务的安装程序 329
12.4 习题 333
附录 参考答案 334
参考文献 347