第1章 绪论 1
1.1 计算机概述 1
1.1.1 计算机系统组成 1
1.1.2 数据表示与处理 3
1.2 程序设计语言 6
1.2.1 发展历史 6
1.2.2 语言的类型 6
1.2.3 高级语言的分类 7
1.3 .NET介绍 8
1.3.1 Microsoft.NET概述 8
1.3.2 Microsoft.NET框架 9
1.4 C#语言简介 12
1.4.1 C#语言的起源 12
1.4.2 C#语言的性能 13
1.4.3 C#语言的特点 14
1.5 Visual C# 2005 Express简介 15
1.5.1 Visual C#2005 Express的功能介绍 16
1.5.2 Visual C# 2005 Express的项目 16
1.5.3 Visual C# 2005 Express的界面介绍 17
1.6 本章习题 19
第2章 程序设计基础 21
2.1 程序 21
2.1.1 初识C#程序 21
2.1.2 标识符和关键字 24
2.2 常量和变量 26
2.3 数据类型 27
2.3.1 简单类型 28
2.3.2 枚举类型 31
2.3.3 结构类型 33
2.3.4 数组类型 33
2.4 类型转换 37
2.4.1 隐式转换 37
2.4.2 显式转换 38
2.5 撰写规范的程序代码 42
2.5.1 基本格式 42
2.5.2 注释 43
2.5.3 命名 47
2.6 本章习题 48
第3章 程序控制与算法 51
3.1 表达式与运算符 51
3.1.1 表达式 51
3.1.2 运算符 51
3.1.3 运算符的优先级 53
3.2 流程控制 54
3.2.1 顺序结构 54
3.2.2 选择结构 55
3.2.3 循环结构 58
3.3 算法 62
3.3.1 算法的图形描述 63
3.3.2 基本算法 65
3.3.3 排序 66
3.3.4 查找 69
3.3.5 算法复杂性分析 72
3.4 本章习题 75
第4章 面向对象与对象模型 80
4.1 面向对象的概念 80
4.1.1 面向对象的基本原理 81
4.1.2 类和对象的概念 82
4.1.3 UML和对象建模 84
4.1.4 简评面向对象 86
4.2 类和对象 86
4.2.1 类的声明及其成员 87
4.2.2 对象和对象的生命周期 93
4.3 属性和索引 96
4.3.1 属性 96
4.3.2 索引 99
4.4 方法 102
4.4.1 方法的定义 102
4.4.2 方法中的字段 103
4.4.3 实例方法与静态方法 104
4.4.4 方法的参数 105
4.5 重载 110
4.5.1 重载方法 111
4.5.2 重载操作符 113
4.6 本章习题 115
第5章 C#面向对象编程基础 119
5.1 继承 119
5.1.1 继承的定义 119
5.1.2 覆盖 120
5.1.3 继承.NETFramework中的类 123
5.2 抽象类和密封类 129
5.2.1 抽象类 129
5.2.2 密封类 130
5.3 多态 131
5.3.1 理解多态 131
5.3.2 实现多态 132
5.4 泛型类 135
5.4.1 引入泛型的原因 136
5.4.2 创建和使用泛型 136
5.4.3 泛型类的成员 137
5.5 本章习题 139
第6章 C#面向对象编程深入 140
6.1 接口 140
6.1.1 定义接口 140
6.1.2 实现接口 141
6.2 迭代器 144
6.2.1 定义迭代器 144
6.2.2 实现迭代器 145
6.3 委托 149
6.3.1 引例 149
6.3.2 定义委托 151
6.3.3 实例化委托 151
6.3.4 通过委托调用方法 152
6.3.5 多重委托 153
6.4 事件 154
6.4.1 定义事件 154
6.4.2 订阅事件 155
6.4.3 实现事件 155
6.4.4 触发事件 156
6.5 匿名方法 160
6.5.1 定义匿名方法 160
6.5.2 委托作为参数和返回值 162
6.6 本章习题 163
第7章 开发过程与程序调试 165
7.1 软件开发过程概述 165
7.1.1 软件生命周期 165
7.1.2 软件开发过程 166
7.2 调试与测试 169
7.2.1 程序调试 169
7.2.2 软件质量与测试 174
7.3 异常与异常处理 176
7.3.1 异常处理概览 178
7.3.2 try、catch和finally块 179
7.3.3 使用throw抛出异常 181
7.4 本章习题 184
第8章 Windows程序设计 187
8.1 Windows窗体 187
8.1.1 Windows窗体简介 187
8.1.2 Windows窗体的特性 188
8.2 事件处理 188
8.2.1 事件驱动概述 189
8.2.2 C#中的事件处理程序 190
8.2.3 Windows窗体事件处理示例 192
8.3 使用控件 193
8.3.1 公共控件 194
8.3.2 容器控件 202
8.3.3 菜单和工具栏 203
8.3.4 对话框 209
8.3.5 综合示例 212
8.4 自定义控件 218
8.5 本章习题 222
第9章 GDI+编程 223
9.1 Graphics类 223
9.2 图形参数 225
9.2.1 位置和大小 225
9.2.2 颜色 227
9.3 绘图工具 227
9.3.1 Brush工具 227
9.3.2 Pen工具 228
9.4 绘制图形 229
9.5 添加文本 232
9.5.1 字体 232
9.5.2 绘制文本 234
9.6 使用图像 236
9.6.1 图像 237
9.6.2 绘制图像 238
9.7 本章习题 239
第10章 文件操作 240
10.1 文件和流 240
10.2 文件存储管理 240
10.2.1 文件管理 241
10.2.2 目录管理 242
10.2.3 Path类 243
10.2.4 程序示例 243
10.3 读写文件 249
10.3.1 二进制文件的读写 250
10.3.2 文本文件的读写 252
10.4 异步访问文件 258
10.5 本章习题 259
第11章 数据库程序开发 261
11.1 数据库和数据库系统 261
11.1.1 数据库管理系统 261
11.1.2 数据库应用程序 263
11.2 SQL基础 263
11.2.1 SQL的历史 264
11.2.2 SQL的特点 264
11.2.3 SQL的基本语法 265
11.3 数据库访问技术的发展 266
11.4 ADO.NET 268
11.4.1 ADO.NET简介 269
11.4.2 ADO.NET体系结构 271
11.4.3 数据集的操作 282
11.5 创建数据库应用程序 286
11.5.1 连接数据库 287
11.5.2 设计数据集 287
11.5.3 填充数据集 289
11.5.4 显示数据 290
11.5.5 编辑并更新数据 292
11.6 本章习题 294
附录A ASCII码 296
附录B Unicode码 299