第一篇 C#2.0基础 2
第1章 C#与.NET Framework 2.0简介 2
1.1 什么是C# 2
1.1.1 C#与.NET 2
1.1.2 与其他语言的比较 3
1.1.3 C#的特点 3
1.2 第一个C#程序:Hello World 3
1.2.1 配置和认识Visual Studio.NET开发环境 4
1.2.2 第一个Windows Console程序 4
1.2.3 第一个Windows Form程序 5
1.2.4 第一个ASP.NET程序 6
1.2.5 源代码分析 8
1.3 小结 8
第2章 C#程序设计基础 9
2.1 数据类型 9
2.1.1 值类型 9
2.1.2 引用类型 9
2.1.3 类型转换 10
2.1.4 装箱和拆箱 11
2.2 变量和常量 12
2.2.1 声明和使用常量 12
2.2.2 声明和使用变量 12
2.2.3 变量的作用域 13
2.3 运算符 14
2.3.1 算数运算符 14
2.3.2 字符串运算符 14
2.3.3 赋值运算符 15
2.3.4 逻辑运算符 16
2.3.5 位运算符 16
2.3.6 其他运算符 17
2.3.7 运算符的优先级 18
2.4 流程控制 18
2.4.1 使用if语句实现分支 18
2.4.2 使用switch语句实现分支 20
2.4.3 使用while语句实现循环 21
2.4.4 使用for语句实现循环 22
2.4.5 使用break/continue控制循环 23
2.4.6 使用#define进行条件编译 24
2.5 程序的结构 25
2.5.1 用类搭建程序 25
2.5.2 使用命名空间 27
2.5.3 寻找程序的入口 27
2.6 异常处理 28
2.7 小结 29
第二篇 C# 2.0界面编程 32
第3章 与用户交互 32
3.1 菜单和工具栏 32
3.2 鼠标事件 34
3.3 键盘事件处理 34
3.4 通用对话框 35
3.5 编写多文档界面应用程序 37
3.6 小结 38
第4章 常用控件 39
4.1 进度条 39
4.2 PictureBox图片框控件 40
4.3 文本框控件与按钮控件 42
4.4 Windows窗体及事件 42
4.5 复选框和单选按钮 43
4.6 列表框 45
4.7 带复选框的列表框 45
4.8 小结 46
第三篇 C#2.0对象编程 48
第5章 类 48
5.1 定义类 48
5.1.1 声明类 48
5.1.2 声明类的静态特征 49
5.1.3 声明类的动态行为 50
5.1.4 创建类实例 50
5.1.5 继承类 51
5.2 VS.NET中的OOP工具 52
5.2.1 使用Class View窗口 52
5.2.2 使用Object Browser 52
5.3 属性详谈 53
5.3.1 域和属性 53
5.3.2 静态属性 54
5.3.3 重载属性 55
5.4 方法详谈 56
5.4.1 方法的参数 56
5.4.2 使用构造函数 57
5.4.3 使用析构函数 58
5.4.4 使用静态方法 59
5.4.5 重载方法 59
5.4.6 访问父类方法 60
5.5 小结 62
第6章 抽象类、多态及接口 63
6.1 抽象类 63
6.1.1 什么是抽象类 63
6.1.2 声明抽象类 64
6.1.3 实现抽象方法 66
6.2 多态 67
6.2.1 什么是多态 67
6.2.2 多态的实现 67
6.2.3 区分多态和重载 69
6.3 接口 70
6.3.1 什么是接口 70
6.3.2 声明接口 70
6.3.3 实现接口 71
6.4 小结 77
第四篇 C# 2.0数据操作 80
第7章 字符串操作 80
7.1 静态串String 80
7.1.1 比较字符串 80
7.1.2 定位字符和子串 83
7.1.3 格式化字符串 85
7.1.4 连接字符串 87
7.1.5 分裂字符串 88
7.1.6 插入和填充字符串 88
7.1.7 删除和剪切字符串 89
7.1.8 复制字符串 91
7.1.9 替换字符串 92
7.1.10 更改大小写 93
7.1.11 String小结 93
7.2 动态串StringBuilder 93
7.2.1 声明StringBuilder串 93
7.2.2 设置StringBuilder容量 94
7.2.3 追加操作 95
7.2.4 插入操作 96
7.2.5 删除操作 96
7.2.6 替换操作 96
7.2.7 与String比较 97
7.3 字符串编码 97
7.3.1 字符编码概述 98
7.3.2 使用字符编码类 98
7.4 使用正则表达式 99
7.4.1 正则表达式简介 99
7.4.2 使用Regex类 99
7.4.3 构造正则表达式 100
7.4.4 示例:验证URL 101
7.5 小结 101
第8章 数组 102
8.1 数组简介 102
8.1.1 数组的概念 102
8.1.2 多维数组 103
8.1.3 创建C#数组 104
8.2 使用数组 106
8.2.1 System.Array类 106
8.2.2 访问数组元素 106
8.2.3 遍历数组 107
8.2.4 同步数组 108
8.2.5 数组排序 110
8.2.6 查找数组 111
8.2.7 反转数组 114
8.2.8 复制数组 115
8.2.9 动态创建数组 117
8.2.10 综合示例 118
8.3 小结 128
第9章 集合与泛型 129
9.1 System.Collections命名空间 129
9.2 ArrayList数组集合类 129
9.2.1 创建列表 130
9.2.2 添加元素 131
9.2.3 插入元素 132
9.2.4 删除元素 133
9.2.5 简单排序 134
9.2.6 复杂排序 135
9.2.7 查找元素 137
9.2.8 遍历列表 138
9.3 Queue队列类 139
9.3.1 创建队列 139
9.3.2 元素入队 140
9.3.3 元素出队 140
9.4 Stack堆栈类 141
9.4.1 创建堆栈 141
9.4.2 元素入栈 142
9.4.3 元素出栈 143
9.5 Hashtable哈希表类和SortedList排序列表类 143
9.5.1 Hashtable 144
9.5.2 构造普通哈希表 144
9.5.3 SortedList 146
9.5.4 搜索排序哈希表 147
9.6 泛型简介 148
9.6.1 什么是泛型 149
9.6.2 一个泛型的示例 150
9.6.3 集合类的泛型版本 151
9.6.4 使用泛型的建议 153
9.7 小结 153
第10章 处理异常和错误 154
10.1 try/catch块 154
10.2 finally块 156
10.3 预定义异常的类 158
10.4 处理异常 162
10.4.1 处理多个异常 162
10.4.2 处理和传递异常 163
10.4.3 从异常中恢复 164
10.5 设计自己的异常 166
10.6 小结 168
第11章 文件和输入输出 169
11.1 文件 169
11.1.1 System.IO类介绍 169
11.1.2 文件类File 170
11.1.3 文件夹类Directory 175
11.1.4 文件信息类FileInfo 178
11.1.5 文件夹信息类DirectoryInfo 179
11.2 流 182
11.2.1 文件流类FileStream 183
11.2.2 流写入类StreamWriter 186
11.2.3 流读取类StreamReader 188
11.2.4 二进制流写入类BinaryWriter 189
11.2.5 二进制流读取类BinaryReader 190
11.3 小结 190
第五篇 C# 2.0数据库编程 192
第12章 ADO.NET 2.0数据库操作 192
12.1 ADO.NET概述 192
12.1.1 微软数据访问技术 192
12.1.2 System.Data命名空间 193
12.2 连接数据库 194
12.2.1 SqlConnection类 194
12.2.2 使用SqlConnectionStringBuilder构建连接字符串 195
12.2.3 关闭和释放SQL Server连接 196
12.2.4 创建到SQL Server 2005 Express的连接 198
12.2.5 使用连接池 199
12.3 与数据库交互 200
12.3.1 使用SqlCommand提交增、删、改命令 200
12.3.2 使用SqlCommand获取查询命令 202
12.3.3 使用DataAdapter提交查询命令 203
12.4 管理内存数据 205
12.4.1 了解数据集 205
12.4.2 使用DataTable实现内存表 206
12.4.3 使用DataSet管理数据 208
12.4.4 使用Reader获取只读数据 217
12.4.5 比较DataSet和DataReader 222
12.5 小结 222
第13章 XML编程 223
13.1 .NET框架中的XML 223
13.1.1 理解XML 223
13.1.2 XML文档对象模型(DOM) 227
13.1.3 System.Xml命名空间 227
13.2 读取XML文档 229
13.2.1 使用XmlDocument读取XML 229
13.2.2 使用XmlReader读取XML 234
13.3 使用XPath检索XML 238
13.3.1 基本XPath表达式 238
13.3.2 限定检索范围 239
13.3.3 使用函数设置检索条件 239
13.3.4 使用运算符设置检索条件 241
13.3.5 使用通配符模糊匹配 242
13.3.6 综合示例 242
13.4 修改XML文档 243
13.4.1 创建新DOM节点 243
13.4.2 为DOM节点创建属性 245
13.4.3 修改DOM节点 246
13.5 与ADO.NET集成 250
13.5.1 使用DataSet加载XML数据 250
13.5.2 使用XmlDataDocument加载关系数据 253
13.6 小结 255
第六篇 C#2.0网络编程 258
第14章 ASP.NET 2.0开发基础 258
14.1 什么是ASP.NET 2.0 258
14.1.1 ASP.NET 2.0概述 258
14.1.2 使用VS2005创建ASP.NET应用程序 259
14.1.3 ASP.NET文件类型和目录结构 261
14.1.4 ASP.NET控件简介 263
14.2 ASP.NET服务器控件 265
14.2.1 标准服务器控件 265
14.2.2 验证控件 269
14.2.3 母版页 272
14.2.4 导航控件 278
14.2.5 外观和主题 286
14.2.6 登录控件 288
14.2.7 Web Part编程 298
14.3 ASP.NET 2.0应用程序状态管理 303
14.3.1 应用程序状态管理简介 303
14.3.2 ASP.NET视图状态(View State) 303
14.3.3 ASP.NET控件状态(Control State) 306
14.3.4 全局应用程序设置 310
14.3.5 全局缓存对象 312
14.3.6 会话级应用程序设置 312
14.3.7 使用Cookies 313
14.4 小结 314
第15章 ASP.NET 2.0数据库开发 315
15.1 一个数据库驱动的网站示例 315
15.1.1 显示订单列表 315
15.1.2 订单详细信息 320
15.1.3 订单明细页面 323
15.2 数据源控件 325
15.2.1 数据源控件简介 325
15.2.2 使用SqlDataSource控件 328
15.2.3 使用ObjectDataSource控件 337
15.3 数据绑定控件 340
15.3.1 什么是数据绑定技术 340
15.3.2 列表控件 345
15.3.3 GridView控件 350
15.3.4 DetailsView控件 363
15.3.5 FormView控件 371
15.3.6 Repeater控件 372
15.3.7 DataList控件 373
15.4 小结 377
第16章 应用程序部署 378
16.1 Windows Installer介绍 379
16.2 部署工程的建立 379
16.2.1 使用VS2005安装向导 380
16.2.2 手动创建安装程序 381
16.3 使用安装项目编辑器 384
16.3.1 文件系统编辑器 385
16.3.2 注册表编辑器 385
16.3.3 文件类型编辑器 386
16.3.4 用户界面编辑器 387
16.3.5 自定义操作编辑器 389
16.3.6 启动条件编辑器 390
16.4 部署项目属性介绍 392
16.5 小结 393
第七篇 C#2.0项目实战 396
第17章 在线求职网站 396
17.1 系统总体设计 396
17.1.1 系统需求 396
17.1.2 系统功能 396
17.1.3 系统架构 398
17.2 数据库设计 400
17.2.1 表设计 400
17.2.2 表关系设计 403
17.3 系统公共层设计 404
17.3.1 Web.Config系统配置 404
17.3.2 数据访问公共类设计 409
17.3.3 业务逻辑对象类设计 416
17.4 用户界面的设计 419
17.4.1 母版页 420
17.4.2 站点导航 421
17.4.3 主题和皮肤 425
17.4.4 用户控件 428
17.4.5 WebParts定制界面 432
17.5 成员及角色管理 434
17.5.1 登录与注册窗体 434
17.5.2 角色设置 438
17.5.3 个性化设置 439
17.6 求职者功能设计 439
17.6.1 发布简历 440
17.6.2 搜索工作职位 446
17.6.3 收藏工作职位 449
17.7 企业雇主功能设计 452
17.7.1 登记公司信息 452
17.7.2 查看和添加工作职位 454
17.7.3 添加工作职位 458
17.8 小结 460
第18章 时间跟踪系统 461
18.1 系统总体设计 461
18.1.1 系统需求 461
18.1.2 系统功能 461
18.1.3 系统架构 463
18.2 数据库设计 464
18.2.1 数据表结构 465
18.2.2 表关系设计 466
18.3 数据访问层 466
18.3.1 数据访问帮助类 467
18.3.2 数据访问抽象类 469
18.3.3 SQL Server数据库访问类 471
18.4 业务逻辑层 483
18.4.1 项目分类实体Category类 484
18.4.2 项目实体Project类 489
18.4.3 项目时间项实体TimeEntry类 492
18.5 表示层 492
18.5.1 母版页和导航控件 492
18.5.2 成员和角色管理 495
18.5.3 登录和注册窗体 499
18.5.4 用户列表和编辑用户 503
18.5.5 日期选择器 505
18.5.6 时间项窗体 508
18.5.7 项目配置窗体 512
18.5.8 项目列表窗体 516
18.5.9 项目报表配置窗体 517
18.5.10 项目报表显示窗体 519
18.5.11 资源报表配置窗体 521
18.5.12 资源报表显示窗体 522
18.6 小结 524