第1章 程序开发基础 1
1.1 C#语言简介 1
1.2 Visual Studio.NET IDE集成开发环境 1
1.3 第一个C#程序 2
1.4 C#程序结构 4
1.5 习题 5
第2章 数据类型与运算符 6
2.1 变量 6
2.1.1 变量名 6
2.1.2 变量声明 6
2.1.3 给变量赋值 7
2.2 常量 8
2.3 数据类型 10
2.3.1 整数类型 10
2.3.2 字符类型 11
2.3.3 浮点数类型 12
2.3.4 布尔类型 13
2.3.5 字符串类型 14
2.4 运算符和表达式 15
2.4.1 赋值运算符及其表达式 15
2.4.2 算术运算符及其表达式 16
2.4.3 关系运算符及其表达式 19
2.4.4 逻辑运算符及其表达式 20
2.4.5 条件运算符及其表达式 21
2.4.6 位运算符及其表达式 22
2.4.7 各种简单类型的数据间转换 22
2.4.8 运算符的优先级 26
2.5 习题 27
第3章 程序控制语句 28
3.1 使用分支 28
3.1.1 if语句 28
3.1.2 switch语句 33
3.2 使用循环 37
3.2.1 for循环 38
3.2.2 while循环 40
3.2.3 do-while循环 41
3.2.4 break语句与continue语句 42
3.3 学生成绩管理系统的菜单 44
3.4 习题 45
第4章 数组 46
4.1 任务描述 46
4.2 一维数组 46
4.2.1 一维数组的定义 46
4.2.2 初始化一维数组 47
4.2.3 引用一维数组元素 48
4.2.4 使用foreach遍历数组 51
4.3 二维数组 52
4.3.1 二维数组的定义 52
4.3.2 初始化二维数组 53
4.3.3 引用二维数组元素 54
4.4 学生信息的数据存储与处理 55
4.5 习题 59
第5章 方法 60
5.1 任务描述 60
5.2 声明与调用方法 60
5.2.1 声明方法 60
5.2.2 调用方法 61
5.2.3 使用返回值 62
5.2.4 传递参数 63
5.3 递归 67
5.4 学生成绩管理系统的模块化 68
5.5 习题 71
第6章 面向对象设计 72
6.1 面向对象基本概念 72
6.1.1 对象的概念 72
6.1.2 类的概念 72
6.2 类的定义和使用 72
6.2.1 使用类的基本步骤 72
6.2.2 类的封装性和类成员的访问权限 75
6.2.3 构造函数与析构函数 77
6.3 静态变量和静态函数 80
6.3.1 静态变量 80
6.3.2 静态方法 81
6.4 继承 82
6.4.1 类的继承性 82
6.4.2 定义子类 83
6.4.3 使用protected访问方式 84
6.4.4 子类的构造函数和析构函数 85
6.5 多态 88
6.5.1 类的多态性 88
6.5.2 方法重载 88
6.5.3 构造函数重载 90
6.5.4 虚函数 91
6.6 属性 93
6.6.1 给类成员不合理赋值 93
6.6.2 属性的定义与使用 94
6.6.3 索引器 96
6.6.4 抽象类和抽象方法 98
6.6.5 接口 100
6.7 知识拓展 102
6.7.1 变量的作用域 102
6.7.2 名称空间 105
6.7.3 值类型与引用类型 106
6.8 习题 108
第7章 用户登录 109
7.1 用户登录窗体介绍 109
7.2 Windows程序基础 109
7.2.1 第一个Windows程序 109
7.2.2 控件 112
7.2.3 事件 112
7.2.4 窗体 113
7.3 登录窗体界面设计 113
7.4 ADO.NET数据库操作 116
7.4.1 ADO.NET基本概念 116
7.4.2 ADO.NET对象模型 117
7.4.3 SqlConnection对象 118
7.4.4 Command对象 121
7.4.5 DataReader对象 122
7.5 登录功能实现 124
7.6 使用带参数的Command实现登录 125
7.7 调用存储过程实现登录 127
7.8 异常处理 130
7.8.1 异常类型 130
7.8.2 Try…catch语句 132
7.8.3 Try…finally语句 133
7.8.4 使用throw语句抛出异常 134
7.9 知识拓展 135
7.9.1 ExecuteScalar方法 135
7.9.2 ListBox控件 136
7.9.3 CheckBox控件 138
7.9.4 ComboBox控件 138
7.9.5 模态对话框与非模态对话框 138
7.9.6 用户自定义异常 139
7.10 习题 140
第8章 图书管理系统主窗体 141
8.1 图书管理系统主窗体介绍 141
8.2 菜单 141
8.3 MDI窗体 144
8.4 工具栏控件与状态栏控件 147
8.5 上下文菜单 147
8.6 知识拓展 149
8.6.1 TreeView控件 149
8.6.2 ListView控件 152
8.7 习题 154
第9章 图书维护 155
9.1 图书维护窗体介绍 155
9.2 DataSet对象 155
9.3 DataAdapter对象 156
9.4 DataTable对象 157
9.5 图书维护窗体的实现 161
9.6 水晶报表 166
9.6.1 拉模式与推模式 166
9.6.2 报表设计 167
9.6.3 制作图书信息的报表 168
9.7 知识拓展 174
9.7.1 DataView对象 174
9.7.2 数据库公用类 174
9.8 习题 177
第10章 画图程序 178
10.1 画图程序介绍 178
10.2 界面设计 178
10.2.1 RadioButton控件 178
10.2.2 GroupBox控件 179
10.2.3 PictureBox控件 179
10.2.4 ColorDialog对话框 179
10.2.5 界面设计实现 179
10.3 图形绘制 180
10.3.1 Graphics类 180
10.3.2 图形坐标系统 183
10.3.3 位置与大小 184
10.3.4 Pen类 185
10.3.5 颜色 185
10.3.6 绘制矩形和多边形 187
10.3.7 绘制椭圆 187
10.3.8 鼠标事件 188
10.3.9 画图实现 188
10.4 图形的保存与恢复 191
10.4.1 用于文件操作的类 191
10.4.2 StreamWriter类 192
10.4.3 StreamReader类 193
10.4.4 OpenFileDialog对话框 194
10.4.5 SaveFileDialog对话框 195
10.4.6 图形的保存与恢复的实现 195
10.5 打印图形 196
10.5.1 PrintDocument控件 197
10.5.2 PrintPreviewDialog控件 198
10.5.3 PrintDialog控件 198
10.5.4 PageSetupDialog控件 198
10.5.5 图形打印的实现 200
10.6 知识拓展 202
10.6.1 File类 202
10.6.2 FileInfo类 203
10.6.3 输出文本 205
10.7 习题 207
第11章 网络通信与多线程 208
11.1 聊天室项目介绍 208
11.2 网络编程 209
11.2.1 IP地址 209
11.2.2 端口 209
11.2.3 TCP/IP 209
11.2.4 套接字 209
11.2.5 TcpClient与TcpListener类 210
11.2.6 使用NetworkStream对象发送和接收数据 211
11.2.7 同步TCP编程 211
11.2.8 一对一通信 212
11.3 多线程技术 218
11.3.1 进程与线程 218
11.3.2 操作线程 219
11.3.3 线程优先级 220
11.3.4 一对多通信 221
11.4 聊天室实现 224
11.5 习题 236
第12章 图书管理系统开发实例 237
12.1 图书管理系统简介 237
12.2 图书管理系统主要模块 237
12.2.1 公用类 237
12.2.2 系统主窗体 239
12.2.3 用户登录 243
12.2.4 读者信息维护 245
12.2.5 图书信息维护 250
12.2.6 修改口令 255
12.2.7 借书管理 258
12.2.8 还书管理 263
12.2.9 备份 266
12.2.10 恢复 268
12.2.11 借阅排行 269
12.2.12 超期书 270
12.3 安装程序制作 271
12.4 习题 279
参考文献 280