第1章 C#概述 1
1.1 C#的产生与发展 2
1.2 C#的运行环境及安装 2
1.2.1 C#的安装与启动 3
1.2.2 C#的集成开发环境 7
1.3 IIS的安装与配置 9
1.4 C# 4.0的新功能 14
1.5 Microsoft.NET Framework 4.0 15
1.5.1 Microsoft.NET框架概述 15
1.5.2 Microsoft.NET框架的结构 16
1.5.3公共语言运行库 17
1.6上机练习 18
第2章 C#应用程序设计 19
2.1初识C#程序 20
2.1.1 C#语言的特点 20
2.1.2 C#程序结构分析 21
2.1.3 C#程序的编译和执行 21
2.1.4标识符 22
2.2 C#应用程序的组成 23
2.2.1应用程序中包含的文件 24
2.2.2 Web.config文件 25
2.2.3 Main方法和命令行参数 25
2.2.4程序代码注释 26
2.3创建第一个C#程序 27
2.3.1新建项目 28
2.3.2设计应用程序的用户界面 29
2.3.3设置控件的属性 32
2.3.4编写程序代码 34
2.3.5运行程序 35
2.4上机练习 36
第3章 C#基础知识综述 37
3.1常量与变量 38
3.1.1常量 38
3.1.2变量 38
3.2数据类型 39
3.2.1值类型 40
3.2.2引用类型 46
3.2.3类型转换 49
3.2.4装箱和拆箱 50
3.3运算符和表达式 52
3.3.1算术运算符 53
3.3.2关系运算符 54
3.3.3逻辑运算符 56
3.3.4条件运算符 57
3.3.5赋值运算符 58
3.3.6位运算符 60
3.3.7运算符的优先级 61
3.4上机练习 62
第4章 C#的面向对象 63
4.1面向对象概述 64
4.2类和对象 65
4.2.1类的声明 65
4.2.2类的成员 66
4.2.3对象的声明 67
4.2.4C#常用的基础类 68
4.3方法 68
4.3.1方法的定义及调用 68
4.3.2方法的参数类型 70
4.3.3静态方法与非静态方法 71
4.3.4方法的重载 72
4.3.5运算符的重载 73
4.3.6递归 75
4.4属性 78
4.4.1属性的声明 78
4.4.2属性的访问 79
4.5事件 80
4.6构造函数和析构函数 81
4.6.1构造函数 81
4.6.2析构函数 83
4.7命名空间 85
4.7.1命名空间的声明 86
4.7.2命名空间的成员 86
4.7.3命名空间的使用 87
4.8上机练习 88
第5章 继承和多态性 89
5.1继承 90
5.2继承的应用 91
5.2.1基类和派生类 91
5.2.2用Base方法调用基类构造函数 93
5.2.3 new方法 94
5.2.4 virtual方法 96
5.2.5 override方法 97
5.3创建接口 99
5.3.1接口的语法 99
5.3.2接口的限制 101
5.3.3接口的继承 101
5.3.4 ICloneable接口 103
5.4抽象类 106
5.4.1抽象类的定义 107
5.4.2抽象类的实例 107
5.5多态性 109
5.5.1多态的定义 109
5.5.2多态的实例 109
5.6上机练习 111
第6章 结构化程序设计 113
6.1认识结构化程序设计 114
6.2顺序结构 114
6.3选择结构 115
6.3.1 if语句 115
6.3.2 switch语句 118
6.4循环结构 120
6.4.1 while语句和do-while语句 120
6.4.2 for语句和foreach语句 123
6.4.3跳转语句 125
6.5异常处理 129
6.5.1异常处理概述 129
6.5.2异常处理语句 130
6.6综合实例 135
6.6.1月工资的计算 135
6.6.2打印小写字母对应的ASCII码 138
6.7上机练习 143
第7章 数组与集合 145
7.1数组概述 146
7.2一维数组 146
7.2.1一维数组的声明 146
7.2.2一维数组的使用 147
7.2.3综合实例(1) 148
7.3二维数组 151
7.3.1二维数组的声明 151
7.3.2二维数组的使用 152
7.3.3综合实例(2) 153
7.4动态数组 155
7.5数组的基本操作 157
7.5.1数组的遍历 157
7.5.2数组的排序 158
7.5.3数组元素的添加与删除 160
7.6集合类 161
7.6.1集合类概述 161
7.6.2 Queue集合类 162
7.6.3 Stack集合类 163
7.6.4 Hashtable集合类 164
7.6.5 SortedList集合类 165
7.7上机练习 166
第8章 结构和枚举 167
8.1结构类型 168
8.1.1结构的声明 168
8.1.2结构成员的访问 169
8.1.3综合实例(1) 170
8.2枚举 172
8.2.1枚举类型的定义 172
8.2.2枚举成员的赋值 172
8.2.3枚举类型的转换 175
8.2.4枚举成员的访问 177
8.2.5综合实例(2) 178
8.3上机练习 179
第9章 可视化程序设计 181
9.1Windows窗体 182
9.1.1 Windows窗体的基本属性 182
9.1.2创建窗体 183
9.1.3设置启动窗体属性 184
9.2控件概述 185
9.2.1控件的基本属性 185
9.2.2控件共有的属性、事件和方法 186
9.3常用的Windows窗体控件 186
9.3.1标签控件 187
9.3.2文本框控件 187
9.3.3按钮控件 193
9.3.4列表框控件 197
9.3.5组合框控件 198
9.3.6单选按钮与复选框控件 199
9.3.7图片框控件 203
9.3.8滚动条控件 203
9.3.9日期/时间控件 206
9.3.10进度条控件 208
9.4高级控件的应用 210
9.4.1 ListView控件 210
9.4.2 TreeView控件 214
9.4.3 ImageList控件 218
9.5综合实例 218
9.5.1计算器的设计 218
9.5.2图像浏览器的制作 222
9.6上机练习 229
第10章 C#的文件操作 231
10.1 C#文件简介 232
10.2 C#文件的读写 232
10.2.1读文件 232
10.2.2写文件 235
10.3文件操作 237
10.3.1文件的复制 237
10.3.2文件的删除 238
10.3.3文件的移动 239
10.4上机练习 241
第11章 C#的数据库操作 243
11.1数据库概念 244
11.2 SQL Server 2008数据库 245
11.2.1 SQL Server 2008的安装与启动 245
11.2.2常用SQL命令 250
11.2.3常见的数据库操作 252
11.3 ADO.NET的概念 263
11.4 ADO.NET的对象 264
11.4.1 Connection对象 264
11.4.2 Command对象 265
11.4.3 DataReader对象 266
11.4.4 DataAdapter对象 266
11.4.5 DataSet对象 267
11.4.6数据绑定操作 268
11.5上机练习 273
第12章 异步编程和多线程编程 275
12.1进程和线程 276
12.2异步编程的4种方法 277
12.2.1 EndInvoke方法 277
12.2.2 WaitOne方法 278
12.2.3轮询 279
12.2.4回调 281
12.3多线程编程 282
12.3.1 Thread类 282
12.3.2创建一个线程 284
12.3.3线程池 285
12.3.4死锁 286
12.4上机练习 288
第13章 并行编程 289
13.1并行编程 290
13.2任务并行库 291
13.2.1并发和并行 291
13.2.2并行编程架构 292
13.3 Parallel类 292
13.3.1 For方法重载一 293
13.3.2 For方法重载二 295
13.3.3 For方法重载三 297
13.4 Task类 298
13.5数据并行和任务并行 299
13.6 PLINQ 300
13.7上机练习 302
第14章 基于Socket的C/S模式的聊天室 303
14.1关于Socket 304
14.2 C/S聊天室模型 304
14.3聊天协议 306
14.3.1关于聊天协议的应答 306
14.3.2聊天状态处理 306
14.3.3聊天命令介绍 306
14.4系统功能定义 308
14.4.1服务器端 308
14.4.2客户端 308
14.5系统功能设计 309
14.5.1聊天室服务器的协议解析流程 309
14.5.2聊天室客户端的协议解析流程 311
14.6系统功能实现 311
14.6.1服务器端程序设计 312
14.6.2客户端程序设计 325
14.6.3聊天室程序的运行与测试 331
14.7聊天室的安装与部署 336
14.8小结 341
第15章 屏幕锁定程序 343
15.1系统概述 344
15.2系统功能定义及设计 344
15.3系统开发必备知识 344
15.4系统功能实现 348
15.4.1 Win32 API静态类 348
15.4.2快捷菜单 349
15.4.3程序设置 350
15.4.4屏幕锁定 354
15.5系统预览 359
15.6安装部署 361
15.7程序测试 364
15.8小结 370
第16章 学生学籍管理系统 371
16.1系统概述 372
16.2系统预览 372
16.3系统设计 374
16.3.1系统结构设计 375
16.3.2系统功能模块划分 375
16.4数据库设计 377
16.4.1数据库需求分析 377
16.4.2数据库概念结构设计 378
16.4.3数据库逻辑结构设计 380
16.4.4设置表之间的依赖关系 382
16.5专业信息管理 385
16.5.1添加专业信息 385
16.5.2浏览专业信息 387
16.5.3修改专业信息 388
16.5.4删除专业信息 391
16.6学生信息管理 392
16.6.1添加学生信息 392
16.6.2浏览学生信息 396
16.6.3修改学生信息 398
16.6.4删除学生信息 402
16.7班级信息管理 402
16.7.1添加班级信息 403
16.7.2浏览班级信息 404
16.7.3修改班级信息 406
16.7.4删除班级信息 408
16.8课程信息管理 409
16.8.1添加课程信息 409
16.8.2浏览课程信息 412
16.8.3修改课程信息 414
16.8.4删除课程信息 415
16.9成绩信息管理 416
16.9.1录入成绩信息 417
16.9.2浏览学生成绩 422
16.9.3修改成绩信息 425
16.9.4删除学生成绩 426
16.9.5查询学生成绩 427
16.10系统管理 428
16.10.1添加用户角色 428
16.10.2添加登录用户 430
16.11小结 431
第17章 图书管理系统 433
17.1系统概述 434
17.2系统设计 434
17.2.1系统需求分析 434
17.2.2系统结构设计 435
17.2.3系统功能模块划分 436
17.3数据库设计 437
17.3.1数据库需求分析 437
17.3.2数据库概念结构设计 437
17.3.3数据库逻辑结构设计 439
17.3.4设置表之间的依赖关系 441
17.4三层架构概念及设计 444
17.4.1三层架构及其设计 444
17.4.2 BookManageSystem.Model 444
17.4.3 BookManageSystem.Common 446
17.4.4 BookManageSystem.DAL 449
17.4.5 BookManageSystem.BLL 469
17.4.6 BookManageSystem 472
17.5主窗体、登录窗体及浮动快捷菜单 473
17.5.1主窗体 473
17.5.2登录窗体 477
17.5.3浮动快捷菜单 479
17.6用户权限管理 480
17.6.1用户权限管理窗体 481
17.6.2添加/修改用户信息窗体 483
17.7图书卡片管理 487
17.7.1图书卡片类别管理 487
17.7.2图书卡片信息管理 488
17.8读者信息维护 490
17.9图书借阅管理 491
17.9.1图书借阅 492
17.9.2图书归还 494
17.10系统信息查询 496
17.10.1图书信息查询 496
17.10.2读者信息查询 498
17.10.3借阅信息查询 498
17.11小结 500