第1章 C#概述 1
1.1 C#简介 2
1.1.1 了解C 2
1.1.2 C#之父——新“三顾茅庐”的故事 3
1.1.3 C#前景分析 4
1.2 通用语言规范 5
1.3 认识C#的开发工具Visual Studio 6
1.3.1 Visual Studio简介 6
1.3.2 Visual Studio的发展历史 7
1.3.3 Visual Studio的特点及优势 7
1.3.4 安装Visual Studio 2008 8
1.3.5 Visual Studio 2008的界面介绍 10
1.4 第一个C#程序 11
1.4.1 认识和创建解决方案 11
1.4.2 认识和创建项目 13
1.4.3 代码分析 15
1.4.4 编译运行 16
1.5 认识C#程序 17
1.5.1 什么是Windows应用程序 17
1.5.2 认识控制台应用程序文件夹结构 17
1.6 本章习题 18
1.6.1 选择题 18
1.6.2 简答题 18
1.6.3 上机实战 18
第2章 C#中的变量和运算符 21
2.1 认识C#中的数据类型 22
2.1.1 不同的数据类型 22
2.1.2 C#中常用的数据类型 22
2.2 变量命名 23
2.2.1 命名方式 23
2.2.2 变量命名规范 25
2.2.3 常见错误 26
2.3 常量 28
2.4 C#中的运算符 29
2.4.1 赋值运算符 29
2.4.2 算术运算符 31
2.4.3 比较运算符 33
2.4.4 条件运算符 34
2.4.5 逻辑运算符 35
2.4.6 C#中常用的运算符 36
2.5 C#中的类型及其转换 37
2.5.1 String类 37
2.5.2 常用的字符串处理方法 38
2.5.3 格式化字符串 40
2.5.4 为什么需要数据类型转换 42
2.5.5 如何进行数据类型转换 43
2.5.6 简单的类型转换 43
2.5.7 字符、字符串与数值间的转换 45
2.5.8 使用Parse()方法转换 46
2.5.9 使用Convert类转换 46
2.5.10 常见错误分析 48
2.6 C#中的注释 49
2.6.1 行注释和块注释 50
2.6.2 与Java中注释方式异同 50
2.6.3 注释规范 51
2.7 控制台输入和输出 51
2.7.1 向控制台输入 51
2.7.2 从控制台输出 51
2.8 本章习题 52
2.8.1 选择题 52
2.8.2 简答题 53
2.8.3 上机实战 53
第3章 C#中的条件结构 55
3.1 bool类型 56
3.1.1 什么是bool类型 56
3.1.2 使用bool类型来表示真假 56
3.2 if条件结构 57
3.2.1 C#中的“如果” 58
3.2.2 什么是if条件结构 58
3.2.3 使用基本的if条件结构 59
3.2.4 复杂条件下的if条件结构 60
3.2.5 多重if结构和嵌套if结构的使用 62
3.3 switch结构 65
3.3.1 C#中的等值判断 65
3.3.2 什么是switch结构 66
3.3.3 使用switch结构进行等值判断 67
3.4 综合运用:模拟会员幸运抽奖 69
3.5 常见错误 71
3.6 本章习题 73
3.6.1 选择题 73
3.6.2 简答题 74
3.6.3 上机实战 74
第4章 C#中的循环 77
4.1 基本循环 78
4.1.1 什么是while循环 78
4.1.2 while的使用 80
4.1.3 常见错误 82
4.1.4 什么是do-while循环 83
4.1.5 do-while循环的使用 84
4.1.6 while循环和do-while循环的区别 85
4.1.7 什么是for循环 86
4.1.8 for循环的使用 87
4.1.9 常见错误 89
4.2 C#中特有的foreach循环 90
4.2.1 什么是foreach循环 91
4.2.2 foreach循环的使用 93
4.2.3 什么是死循环 94
4.3 循环结构总结 94
4.4 调试 95
4.4.1 调试的步骤 95
4.4.2 设置断点 96
4.4.3 启动调试,监视变量值 96
4.4.4 单步跟踪 97
4.4.5 调试示例 98
4.5 多重循环 100
4.6 跳转语句 102
4.6.1 使用break语句 102
4.6.2 使用continue语句 103
4.7 本章习题 104
4.7.1 选择题 104
4.7.2 简答题 105
4.7.3 上机实战 105
第5章 对象和类 109
5.1 对象 110
5.1.1 身边的对象 110
5.1.2 什么是对象的属性和方法 111
5.1.3 封装 112
5.2 类 112
5.2.1 对象和类的区别 113
5.2.2 类是对象的类型 115
5.2.3 类的声明 115
5.2.4 类的成员 116
5.3 在类中添加属性 117
5.3.1 访问修饰符 117
5.3.2 数据安全 118
5.3.3 使用C#属性 120
5.3.4 注意事项 121
5.3.5 快速创建属性 121
5.3.6 封装字段 122
5.4 变量作用域和常见错误 124
5.4.1 变量作用域 124
5.4.2 常见错误 125
5.5 了解C#中的命名空间 127
5.5.1 框架类库中的命名空间 127
5.5.2 命名空间的使用 128
5.6 C# 3.0特性讲解 129
5.6.1 C# 3.0简介 130
5.6.2 C# 3.0之var关键字 130
5.7 本章习题 131
5.7.1 选择题 131
5.7.2 简答题 132
5.7.3 上机实战 132
第6章 数组 135
6.1 数组 136
6.1.1 了解数组 136
6.1.2 C#中的数组 137
6.2 数组的声明和使用 139
6.2.1 声明 139
6.2.2 指定数组的大小 139
6.2.3 数组的初始化 140
6.2.4 数组的使用 141
6.2.5 常见错误 142
6.3 数组的应用 144
6.3.1 求最大值 144
6.3.2 排序 146
6.3.3 冒泡排序 147
6.3.4 应用 148
6.4 学会查看Visual Studio的帮助文档 150
6.5 .NET代码规范 152
6.5.1 必须遵守的命名规范 152
6.5.2 指导性规范 153
6.6 枚举 154
6.6.1 声明和使用枚举 155
6.6.2 枚举的应用 156
6.7 本章习题 158
6.7.1 选择题 158
6.7.2 简答题 159
6.7.3 上机实战 159
第7章 C#中的方法 161
7.1 认识C#中的方法 162
7.1.1 什么是类的方法 162
7.1.2 定义方法 163
7.2 在类中使用方法 164
7.2.1 方法的返回值 164
7.2.2 使用方法 166
7.2.3 静态和非静态的方法 168
7.2.4 常见错误 169
7.2.5 方法的参数 171
7.2.6 向方法中传递参数 172
7.2.7 方法的重载 175
7.2.8 外部实现的方法 177
7.3 Visual Studio使用技巧 178
7.3.1 快速插入代码段 179
7.3.2 标记与递增查找 180
7.4 构造函数 181
7.4.1 构造函数的使用 181
7.4.2 静态构造函数和this关键字 183
7.5 本章习题 185
7.5.1 选择题 185
7.5.2 简答题 186
7.5.3 上机实战 186
第8章 开发Windows应用程序 191
8.1 我的第一个Windows应用程序 192
8.1.1 创建第一个Windows应用程序 192
8.1.2 认识解决方案管理器 193
8.2 认识窗体 194
8.2.1 认识窗体文件 194
8.2.2 窗体的主要属性 196
8.2.3 窗体的重要事件 198
8.2.4 窗体的方法 201
8.3 认识和使用窗体控件 202
8.3.1 认识和使用工具箱 202
8.3.2 使用窗体控件 204
8.3.3 控件命名规范及界面规范 205
8.4 制作消息框 206
8.4.1 显示消息框 207
8.4.2 MessageBox的返回值 208
8.5 C# 3.0之对象初始化器 209
8.6 继承 211
8.6.1 使用继承 212
8.6.2 继承的特性 213
8.7 多态 214
8.7.1 使用抽象类和抽象方法实现多态 214
8.7.2 使用虚方法实现多态 216
8.8 本章习题 217
8.8.1 选择题 217
8.8.2 简答题 218
8.8.3 上机实战 218
第9章 美化窗体 221
9.1 窗体美化 222
9.1.1 排列控件 222
9.1.2 锚定与停靠 223
9.1.3 创建不规则窗体 224
9.2 创建MDI窗体 226
9.2.1 认识Excel窗体 226
9.2.2 创建MDI窗体 227
9.3 WinForms高级控件 228
9.3.1 使用工具条和状态条控件 229
9.3.2 使用菜单条和右键菜单 230
9.3.3 通用对话框 231
9.4 显示模式窗体 233
9.5 C#中的集合 234
9.5.1 使用ArrayList集合 235
9.5.2 使用HashTable集合 237
9.5.3 C# 3.0新特性之集合初始化器 239
9.5.4 综合应用 239
9.6 本章习题 241
9.6.1 选择题 241
9.6.2 简答题 241
9.6.3 上机实战 241
第10章 使用SQL Server 2005进行数据查询 243
10.1 使用数据库的必要性 244
10.2 SQL Server 2005管理器 244
10.2.1 安装SQL Server 2005 244
10.2.2 新建一个数据库连接 246
10.2.3 新建一个数据库登录名 248
10.3 创建和管理SQL Server数据库 250
10.3.1 创建数据库 251
10.3.2 分离和附加数据库 252
10.3.3 设置数据库状态 253
10.3.4 收缩数据库 254
10.4 创建和管理数据表 254
10.4.1 创建数据表 255
10.4.2 确定列的数据类型 255
10.4.3 建立主键 256
10.4.4 默认值和标识列 258
10.5 建立表间关系 259
10.6 建立检查约束 260
10.7 使用T-SQL管理数据 261
10.7.1 T-SQL中的条件表达式和逻辑运算符 262
10.7.2 插入数据 263
10.7.3 更新数据 264
10.7.4 删除数据 265
10.8 数据查询 265
10.8.1 基本查询 266
10.8.2 查询排序以及模糊查询 268
10.8.3 函数 269
10.8.4 SQL Server中的聚合函数 270
10.8.5 分组查询 271
10.8.6 多表联接查询 273
10.8.7 生成脚本以及使用查询编辑器 274
10.9 简单的子查询 275
10.10 定义存储过程 276
10.11 本章习题 277
10.11.1 选择题 277
10.11.2 简答题 278
10.11.3 上机实战 278
第11章 使用ADO.NET操作数据库 281
11.1 ADO.NET概述 282
11.1.1 认识ADO.NET 282
11.1.2 ADO.NET的主要组件 282
11.2 连接数据库 283
11.2.1 认识Connection对象 283
11.2.2 使用Connection对象连接数据库 285
11.2.3 了解异常处理 286
11.2.4 使用try-catch处理异常 288
11.2.5 认识Command对象 289
11.2.6 使用Command对象查询数据库 291
11.3 查询和操作数据库 293
11.3.1 认识DataReader对象 293
11.3.2 使用DataReader对象查询数据库 294
11.4 显示和操作数据库 296
11.4.1 认识DataSet对象 296
11.4.2 认识DataAdapter对象 297
11.4.3 填充数据集 298
11.4.4 保存数据集中的数据 299
11.4.5 使用using语句 301
11.4.6 使用存储过程 301
11.5 装箱和拆箱 303
11.6 泛型 304
11.6.1 泛型集合List〈T〉 305
11.6.2 泛型集合Dictionary〈K,V〉 307
11.7 简单的扩展方法 307
11.8 本章习题 309
11.8.1 选择题 309
11.8.2 简答题 310
11.8.3 上机实战 310
第12章 强大的LINQ查询 313
12.1 走进LINQ 314
12.1.1 认识LINQ 314
12.1.2 LINQ初体验 315
12.2 Lambda表达式的进化 316
12.2.1 为什么需要委托 316
12.2.2 使用委托 318
12.3 匿名方法 320
12.4 Lambda表达式 321
12.5 基本查询 322
12.6 LINQ进阶 323
12.6.1 查询执行的时机 324
12.6.2 LINQ查询的两种形式 325
12.6.3 聚合类查询方法和排序类查询方法 325
12.6.4 分区类查询方法和集合类查询方法 327
12.6.5 生成类查询方法 328
12.7 本章习题 328
12.7.1 选择题 328
12.7.2 简答题 329
12.7.3 上机实战 329
第13章 文件读写与XML 331
13.1 操作文件 332
13.1.1 如何读写文件 332
13.1.2 创建文件流与文件读写器 333
13.2 操作文件和目录 335
13.2.1 认识File类和Directory类 335
13.2.2 综合示例 336
13.3 认识和操作XML 338
13.3.1 XML概述 339
13.3.2 操作XML 339
13.3.3 使用TreeView操作XML 342
13.4 走进LINQ to XML 343
13.4.1 使用LINQ to XML创建一个XML文件 344
13.4.2 常用方法 345
13.4.3 LINQ to XML综合运用 348
13.4.4 向XML树中添加元素、属性和节点 349
13.5 序列化和反序列化 350
13.6 程序集与反射 353
13.6.1 什么是程序集 353
13.6.2 反射 354
13.7 本章习题 356
13.7.1 选择题 356
13.7.2 简答题 357
13.7.3 上机实战 357
第14章 第一个ASP.NET程序 359
14.1 认识ASP.NET 360
14.1.1 ASP.NET的特色和优势 360
14.1.2 ASP.NET技术的成功应用案例 360
14.2 创建开发环境 361
14.2.1 安装IIS(可选) 361
14.2.2 设置虚拟目录 364
14.2.3 开发服务器 365
14.3 第一个ASP.NET应用程序 366
14.3.1 创建ASP.NET应用程序 366
14.3.2 编写Hello World程序 368
14.4 代码后置和代码内嵌 368
14.5 Web窗体的处理过程 369
14.6 Web窗体程序实例 370
14.7 本章习题 373
14.7.1 选择题 373
14.7.2 简答题 373
14.7.3 上机实战 373
第15章 使用Web控件开发 375
15.1 使用ASP.NET快速开发 376
15.1.1 在页面中显示题目信息表(Questions) 376
15.1.2 设置分页和排序 377
15.2 控件分类 378
15.2.1 HTML服务器控件 378
15.2.2 常用的HTML服务器控件 379
15.2.3 HTML服务器控件的公有属性、方法和事件 379
15.2.4 基本的Web控件 380
15.3 ASP.NET文件夹结构 382
15.4 使用系统对象 382
15.4.1 使用Request对象获取浏览器信息 382
15.4.2 使用Response对象输出数据 385
15.4.3 使用Server对象处理上下文属性 387
15.4.4 使用Application对象存取变量 389
15.4.5 使用Session对象存取变量 391
15.4.6 使用Cookies对象存取变量 391
15.5 使用数据验证Web控件 392
15.5.1 使用RequireFieldValidator控件强迫输入 392
15.5.2 使用CompareValidator控件验证输入 394
15.5.3 使用RangeValidator控件限制输入 396
15.5.4 使用RegularExpressionValidator控件验证输入 397
15.5.5 使用ValidationSummary控件显示未通过的验证 399
15.5.6 使用CustomValidator控件自定验证 401
15.6 本章习题 402
15.6.1 选择题 402
15.6.2 简答题 403
15.6.3 上机实战 403
第16章 影院管理系统(ADO.NET) 405
16.1 影院管理系统需求分析及开发工具 406
16.2 案例覆盖的技能点 406
16.3 问题分析 406
16.4 主要界面分析 407
16.5 推荐实现步骤 408
16.5.1 制作窗体界面 408
16.5.2 创建辅助类 408
16.5.3 实现显示热门电影功能 410
16.5.4 实现动态加载座位的方法 411
16.5.5 实现显示电影详细信息以及座位销售情况 413
16.5.6 实现售票功能以及打印电影票 414
第17章 智力测试(三层结构) 415
17.1 智力测试需求分析及开发工具 416
17.2 案例覆盖的技能点 416
17.3 问题分析 416
17.4 主要界面分析 417
17.5 三层结构讲解 418
17.5.1 什么是三层结构 419
17.5.2 搭建表示层 421
17.5.3 搭建业务逻辑层和数据访问层 421
17.5.4 添加各层之间的依赖关系 422
17.5.5 使用实体类 423
17.6 推荐实现步骤 423
17.6.1 在相应的层中添加类 424
17.6.2 实现用户登录功能 424
17.6.3 显示排名榜和个人信息 427
17.6.4 在线答题 428
17.6.5 在线管理 430