第1篇 入门篇 3
第1章 快速上手 3
1.1 为什么选择Microsoft.NET 3
1.1.1 Microsoft.NET框架概述 3
1.1.2 为什么选择C 4
1.1.3 C#从C、C++、Java继承的特点 5
1.1.4 C#独具的特点 5
1.2 安装Microsoft Visual Studio2008 6
1.2.1 获得软件资源 6
1.2.2 在Windows操作系统下安装开发环境 7
1.3 进入Visual Studio 2008编程世界 8
1.3.1 熟悉开发环境 8
1.3.2 熟悉菜单栏功能 9
1.3.3 熟悉工具栏功能 9
1.3.4 熟悉“工具箱”面板 10
1.3.5 熟悉“属性”面板 10
1.3.6 熟悉“类视图”面板 10
1.3.7 熟悉“对象浏览器”面板 11
1.3.8 熟悉“代码编辑器”面板 11
1.4 创建第一个C#控制台应用程序 12
1.4.1 先睹为快―创建项目程序 12
1.4.2 庖丁解牛―认识项目结构 13
1.4.3 庐山真面目―认识C#程序 14
1.5 获得帮助 15
1.5.1 Microsoft Visual Studio 2008 MSDN帮助系统 15
1.5.2 如何使用MSDN获得帮助 15
1.5.3 获得更多的帮助 16
1.6 小结 17
第2章 C#语法基础 18
2.1 C#数据类型 18
2.1.1 通用类型系统简介 18
2.1.2 值类型 19
2.1.3 引用类型 20
2.2 常量和变量 21
2.2.1 变量的声明和初始化 22
2.2.2 变量命名规范及编码规则 22
2.2.3 变量的作用域 23
2.2.4 声明和使用常量 24
2.3 数据类型转换 25
2.3.1 装箱和拆箱 25
2.3.2 隐式类型转换 26
2.3.3 显式类型转换 26
2.4 运算符和表达式 27
2.4.1 算术运算符 28
2.4.2 比较运算符 28
2.4.3 条件运算符 28
2.4.4 赋值运算符 29
2.4.5 逻辑运算符 29
2.4.6 表达式 29
2.5 小结 30
第3章 字符串处理 32
3.1 字符串处理 32
3.1.1 声明字符串变量 32
3.1.2 修改字符串内容 33
3.1.3 改变大小写 34
3.1.4 联接多个字符串 35
3.1.5 使用Split方法分析字符串 36
3.1.6 使用字符串方法搜索字符串 37
3.1.7 使用正则表达式搜索字符串 38
3.1.8 可变字符串类StringBuilder 40
3.2 用Console类处理控制台程序 41
3.2.1 向控制台输出 41
3.2.2 从控制台输入 42
3.3 C#中的注释 43
3.3.1 良好的注释习惯 43
3.3.2 如何使用注释 43
3.4 小结 45
第4章 流程控制 47
4.1 条件判断—选择的艺术 47
4.1.1 分支选择:if语句 47
4.1.2 if-else结构 48
4.1.3 多重if结构 49
4.1.4 嵌套if结构 50
4.1.5 多路选择:switch语句 51
4.2 程序调试—重过程更重结果 52
4.2.1 Visual Studio2008中的调试 53
4.2.2 设置断点 53
4.2.3 跟踪调试 53
4.3 循环—解决重复的工作 54
4.3.1 检票员的工作:while语句 54
4.3.2 赛跑的艺术:do-while语句 55
4.3.3 更简洁的语法:for语句 56
4.4 流程控制进阶 57
4.4.1 循环嵌套 57
4.4.2 循环跳转:continue语句 58
4.4.3 提前结束循环:break语句 59
4.5 小结 60
第5章 C#数组、结构和枚举 62
5.1 C#中的数组 62
5.1.1 声明和初始化一维数组 62
5.1.2 声明和初始化其他类型的数组 63
5.1.3 支持数组语言实现的基类:System.Array 64
5.1.4 访问数组元素 65
5.1.5 使用foreach语句遍历数组 66
5.1.6 查找数组元素 67
5.1.7 对数组进行排序 67
5.2 用C#中的结构来实现音像记录表 69
5.2.1 音像信息记录表程序实例 69
5.2.2 理解值类型的结构 71
5.3 用C#枚举给音像分类 72
5.3.1 用枚举来给音像归类实例 73
5.3.2 通过实例理解枚举的作用 74
5.4 小结 74
第6章 面向对象的C 76
6.1 面向对象基础 76
6.1.1 什么是面向对象 76
6.1.2 面向对象的特征 76
6.2 万物皆对象 77
6.2.1 怎么理解“对象” 77
6.2.2 从对象到类 77
6.2.3 定义类 77
6.2.4 构造类 78
6.2.5 类的成员 79
6.2.6 定义类的字段 79
6.2.7 定义类的方法 80
6.2.8 从类到对象 82
6.2.9 类和对象程序实例 82
6.3 用对象思考:类的成员 83
6.3.1 定义类的属性 83
6.3.2 属性和字段的区别 84
6.3.3 命名规则 85
6.3.4 this关键字 86
6.3.5 类成员的访问 87
6.3.4 静态类和静态成员 87
6.3.7 析构函数 88
6.4 理解System.Object类 89
6.4.1 万物归宗 89
6.4.2 Object类的应用 90
6.5 体验C#框架类库的强大功能 91
6.5.1 体验框架类库强大的功能 91
6.5.2 框架类库中的命名空间 91
6.5.3 命名空间的定义 92
6.5.4 命名空间的使用 92
6.6 使用集合类 93
6.6.1 动态数组:ArrayList类 93
6.6.2 先进先出的队列:Queue类 96
6.6.3 后进先出的栈:Stack类 98
6.6.4 字典:HashTable类 100
6.7 使用泛型和泛型集合 103
6.7.1 解决ArrayList类带来的问题 103
6.7.2 泛型 105
6.7.3 使用泛型集合List<T> 105
6.7.4 使用泛型集合Dictionary<K,V> 106
6.8 小结 107
第7章 用对象思考 109
7.1 用对象思考:继承 109
7.1.1 解决代码的冗余 109
7.1.2 建立继承模型 110
7.1.3 继承隐私保护 112
7.1.4 继承的特性 113
7.1.5 继承的价值 114
7.2 用对象思考:多态 116
7.2.1 巧妙解决继承带来的问题 116
7.2.2 用抽象类和抽象方法实现多态 118
7.2.3 使用虚方法实现多态 118
7.2.4 面向对象的三大特性 120
7.3 用对象思考:接口 120
7.3.1 接口的提出 120
7.3.2 接口的定义 121
7.3.3 接口的实现 122
7.4 里氏替换原则 124
7.4.1 is操作符 124
7.4.2 as操作符 125
7.5 序列化与反序列化 126
7.5.1 序列化和反序列化的用途 126
7.5.2 序列化和反序列化的操作 127
7.6 程序集和反射 128
7.6.1 什么是程序集 129
7.6.2 查看程序集 129
7.6.3 反射 130
7.7 像引用数组一样引用自己的类—索引器 131
7.7.1 索引器的定义 131
7.7.2 索引器的实例 132
7.8 委托和事件 134
7.8.1 委托的定义 134
7.8.2 实例化委托 134
7.8.3 调用委托 135
7.8.4 事件的定义 135
7.8.5 订阅事件 136
7.8.6 引发事件 136
7.9 小结 138
第8章 异常处理 140
8.1 为什么要异常处理 140
8.1.1 程序的异常 140
8.1.2 处理C#中的异常 141
8.2 捕获异常 144
8.2.1 try...catch...finally语句 144
8.2.2 抛出异常 146
8.2.3 自定义异常 148
8.3 小结 150
第2篇 提高篇 153
第9章 创建Windows窗体应用程序 153
9.1 认识Windows窗体应用程序 153
9.1.1 创建第一个Windows应用程序 153
9.1.2 Windows编辑窗口布局 155
9.1.3 认识Windows窗体 156
9.1.4 用对象思考:窗体 157
9.2 向Windows窗体添加控件 160
9.2.1 Windows窗体控件概述 160
9.2.2 窗体控件命名规则 160
9.2.3 使用消息框(MessageBox) 161
9.2.4 使用按钮(Button) 163
9.2.5 使用标签(Label) 164
9.2.6 使用文本框(TextBox) 165
9.3 创建丰富多彩的窗体应用程序 167
9.3.1 颜色选择器 167
9.3.2 图片管理器 171
9.3.3 字体编辑器 173
9.4 小结 175
第10章 Windows控件开发进阶 177
10.1 菜单和工具栏 177
10.1.1 菜单和点菜 177
10.1.2 其他菜单项 179
10.1.3 上下文菜单 179
10.1.4 添加工具栏 180
10.2 SDI和MDI窗体程序 181
10.2.1 SDI应用程序 181
10.2.2 MDI应用程序 182
10.2.3 对话框应用程序 185
10.3 WinForms高级控件 187
10.3.1 日历控件—MonthCalendar 187
10.3.2 日期选择控件—DateTimePicker 188
10.3.3 计时器控件—Timer 188
10.3.4 面板控件—Panel 190
10.3.5 选项卡控件—TabControl 191
10.4 小结 193
第11章 使用ADO.NET数据库访问技术 195
11.1 ADO.NET概述 195
11.1.1 数据访问的必要性 195
11.1.2 ADO.NET3.5简介 196
11.2 用ADO.NET操作数据库 197
11.2.1 创建数据库 197
11.2.2 连接到数据库 199
11.2.3 使用命令更改数据库 201
11.2.4 使用命令检索数据 204
11.3 用DataSet数据集操作数据库 206
11.3.1 认识数据集:DataSet 206
11.3.2 如何操作数据集 207
11.3.3 填充数据集 208
11.3.4 保存DataSet中的数据 210
11.4 数据操作多面手—DataGridView控件 210
11.4.1 认识DataGridView控件 210
11.4.2 使用DataGridView显示数据 211
11.4.3 使用DataGridView保存修改后的数据 213
11.4.4 ADO.NET综合实例 214
11.5 小结 216
第12章 创建ASP.NETWeb应用程序 218
12.1 开始Web开发之旅 218
12.1.1 体验网上冲浪 218
12.1.2 Web应用程序的特点 220
12.1.3 ASP.NET的特点 220
12.2 创建ASP.NET应用程序 222
12.2.1 创建第一个ASP.NET应用程序 222
12.2.2 解决方案的组成 223
12.2.3 代码后置和代码内嵌 223
12.3 从静态网页到动态交互程序 224
12.3.1 一个HTML静态网页 224
12.3.2 实现丰富多彩的网页效果 225
12.3.3 创建ASP.NETWeb表单程序 228
12.3.4 使用ASP.NET表单控件 231
12.3.5 使用数据验证控件 235
12.4 ASP.NET对象和状态管理 238
12.4.1 管理页面自身:Page对象 238
12.4.2 服务器端响应:Response对象 239
12.4.3 Web客户端请求:Request对象 241
12.4.4 服务器处理:Server对象 242
12.4.5 应用程序处理:Application对象 244
12.4.6 用户会话:Session对象 245
12.4.7 客户端会话:Cookie对象 246
12.5 小结 247
第13章 ASP.NETWeb开发进阶 248
13.1 使用ASPNET数据绑定控件操作数据库 248
13.1.1 ASP.NET数据绑定方式 248
13.1.2 ASP.NET数据操作控件 249
13.1.3 使用GridView控件显示数据列表 250
13.1.4 使用DetailsView控件显示详细页面 253
13.1.5 使用其他数据绑定控件 256
13.2 使用用户控件 257
13.2.1 什么是用户控件 257
13.2.2 创建用户控件 257
13.2.3 使用用户控件 258
13.3 Web2.0技术新宠AJAX 259
13.3.1 什么是AJAX 259
13.3.2 ASP.NETAJAX核心组件 259
13.3.3 ASP.NETAJAX扩展控件 266
13.4 小结 267
第3篇 实例篇 271
第14章 就业中心人才管理系统设计及框架 271
14.1 系统分析设计概览 271
14.1.1 系统功能概述 271
14.1.2 业务处理模型 272
14.1.3 数据库设计 273
14.1.4 系统预览 274
14.2 实现系统三层架构 275
14.2.1 多层体系结构设计 275
14.2.2 搭建三层架构 276
14.3 实现公共处理模块 278
14.3.1 实体类 278
14.3.2 数据访问模块 279
14.3.3 业务逻辑模块 282
14.3.4 DBHelper类 284
14.4 小结 284
第15章 就业中心人才管理系统(WinForms) 285
15.1 搭建后台管理界面 285
15.1.1 解决方案结构 285
15.1.2 主界面及菜单设计 286
15.2 学员信息管理模块设计 286
15.2.1 学员信息列表 286
15.2.2 学员详细信息 288
15.2.3 修改学员信息 291
15.3 跟踪代码执行过程 291
15.3.1 设置断点,跟踪代码执行 291
15.3.2 更深入理解三层架构 292
15.4 小结 292
第16章 就业中心人才管理系统(Web) 293
16.1 实现学员登录功能 293
16.1.1 功能回顾 293
16.1.2 界面设计 293
16.1.3 程序编码 294
16.2 浏览招聘信息 295
16.2.1 界面设计StuLogin.aspx 295
16.2.2 代码文件StuLogin.aspx.cs 296
16.3 查看详细招聘信息 296
16.3.1 界面设计PositionDetail.aspx 296
16.3.2 代码文件PositionDetail.aspx.cs 296
16.4 提交简历 297
16.4.1 界面设计SubmitResume.aspx 297
16.4.2 代码文件SubmitResume.aspx.cs 297
16.5 小结 298