第1部分 实用教程 1
第1章 C#快速入门 1
1.1 C#的优势 1
1.2 第一个C#程序 2
第2章 C#编程基础 6
2.1 基本类型 6
2.2.1 值类型 6
2.1.2 引用类型 7
2.1.3 值类型与引用类型的关系 8
2.2 变量与常量 9
2.2.1 常量 10
2.2.2 变量 11
2.3 运算符与表达式 12
2.3.1 算术运算符 12
2.3.2 关系运算符 13
2.3.3 逻辑运算符 14
2.3.4 位运算符 15
2.3.5 赋值运算符 18
2.3.6 条件运算符 19
2.3.7 运算符的优先级与结合性 19
2.3.8 表达式中的类型转换 20
2.4 选择语句 21
2.4.1 结构化程序设计的三种基本流程 21
2.4.2 分支语句 21
2.4.3 循环语句 25
2.4.4 跳转语句 29
2.5 数组 34
2.5.1 数组的定义 35
2.5.2 数组的初始化 36
2.5.3 数组元素的访问 38
2.5.4 数组与System.Array 41
2.5.5 使用foreach语句遍历数组元素 42
2.6 综合应用实例 43
第3章 面向对象编程基础 46
3.1 面向对象编程概念 46
3.2 类 47
3.2.1 类的声明 47
3.2.2 类的成员 48
3.2.3 构造函数和析构函数 50
3.3 方法 56
3.3.1 方法的声明 56
3.3.2 方法的参数 59
3.3.3 静态方法与实例方法 65
3.3.4 方法的重载与覆盖 67
3.4 属性 72
3.5 综合应用实例 77
第4章 面向对象编程进阶 84
4.1 类的继承与多态 84
4.1.1 继承 84
4.1.2 多态 88
4.2 操作符重载 95
4.3 类型转换 97
4.3.1 隐式类型转换 97
4.3.2 显式类型转换 99
4.3.3 使用Convert转换 101
4.4 接口 102
4.4.1 接口的定义 102
4.4.2 接口的实现 104
4.5 结构和枚举 106
4.5.1 结构 106
4.5.2 枚举 107
4.6 集合类 110
4.7 排序与查找算法 114
4.7.1 IComparable与IComparer接口 114
4.7.2 使用Array类进行排序与查找 114
4.7.3 插入排序 116
4.7.4 冒泡排序 117
4.7.5 选择排序 118
4.8 迭代与递归算法 120
4.8.1 迭代 120
4.8.2 递归 120
4.9 异常处理 122
4.9.1 异常与异常类 122
4.9.2 异常处理 123
4.10 委托与事件 129
4.10.1 委托 129
4.10.2 事件 132
第5章 Windows应用程序 135
5.1 Windows应用程序开发步骤 135
5.2 窗体及其常用属性 137
5.3 Windows常用控件 138
5.3.1 常用控件的属性和事件 138
5.3.2 标签与按钮 140
5.3.3 文本框 142
5.3.4 列表框 144
5.3.5 状态栏与进度条 149
5.3.6 图片框 150
5.3.7 定时器 151
5.3.8 其他控件 152
5.4 菜单与对话框 154
5.4.1 菜单 154
5.4.2 对话框 157
5.5 多文档界面(MDI) 160
5.5.1 创建MDI父窗体 160
5.5.2 创建MDI子窗体 160
5.5.3 确定活动的MDI子窗体 161
5.5.4 排列子窗体 163
5.6 打印与打印预览 163
5.6.1 在设计时创建打印作业 163
5.6.2 选择打印机打印文件 164
5.6.3 打印图形 165
5.6.4 打印文本 165
第6章 GDI+编程 166
6.1 创建Graphics对象 166
6.2 笔 167
6.3 画笔 167
6.4 图案 170
6.5 颜色 170
6.6 绘制线条或空心形状 171
6.7 绘制实心形状 173
6.8 用GDI+显示字符串和图像 173
第7章 文件操作 176
7.1 常用的文件操作类 176
7.2 文件与目录类 176
7.2.1 File类 176
7.2.2 Directory类和DirectoryInfo类 178
7.2.3 Path类 180
7.3 创建文件 182
7.4 读/写文件 183
7.5 综合应用实例 185
第8章 数据库应用 199
8.1 数据库概述 199
8.1.1 关系数据库模型 199
8.1.2 结构化查询语言(SQL) 200
8.2 ADO.NET概述 203
8.2.1 ADO.NET基本概念与特点 203
8.2.2 ADO.NET对象模型的结构 204
8.3 创建连接 206
8.3.1 Connection连接字符串 206
8.3.2 创建并使用连接对象 207
8.3.3 事务处理 209
8.4 使用Command对象与DataReader对象 210
8.4.1 Command对象与DataReader对象简介 210
8.4.2 使用Command对象操作数据 210
8.4.3 使用DataReader对象检索数据 215
8.5 使用DataAdapter对象与DataSet对象 216
8.5.1 使用DataSet对象管理数据 216
8.5.2 数据绑定 220
8.5.3 使用DataAdapter对象 226
8.5.4 多表应用 230
第9章 C#多线程技术 236
9.1 线程概述 236
9.2 创建并控制一个线程 236
9.2.1 线程的创建 237
9.2.2 线程的状态及优先级 239
9.3 线程的同步和通信 240
9.3.1 lock关键字 240
9.3.2 线程监视器 242
9.3.3 生产者-消费者问题 242
9.4 线程池和定时器 245
9.4.1 线程池 245
9.4.2 定时器 245
9.5 互斥对象 246
第10章 Web应用程序 250
10.1 ASP.NET简介 250
10.1.1 用C#创建Web应用程序 250
10.1.2 ASP.NET程序结构 251
10.2 Web Form 253
10.2.1 Web Form基础 253
10.2.2 页面事件 256
10.2.3 IsPostBack属性 257
10.3 HTML控件 258
10.4 服务器控件 261
10.5 Web服务的创建与应用 265
10.5.1 Web服务概述 265
10.5.2 创建简单的Web服务 268
第2部分 习题 272
第1章 C#快速入门习题 272
第2章 C#编程基础习题 273
第3章 面向对象编程基础习题 279
第4章 面向对象编程进阶习题 282
第5章 Windows应用程序习题 285
第6章 GDI+编程习题 285
第7章 文件操作习题 286
第8章 数据库应用习题 286
第9章 C#多线程技术习题 287
第10章 Web应用程序习题 288
第3部分 实验 289
实验1 C#编程环境 289
实验2 C#编程基础 290
实验3 面向对象编程 294
实验4 接口 304
实验5 异常处理 309
实验6 Windows应用程序 310
实验7 GDI+编程 316
实验8 数据库应用 320
实验9 多线程编程 326
实验10 Web应用程序 329
第4部分 综合应用实习实习1 C#学生成绩管理系统(Windows方式) 337
项目1 创建连接和主程序 337
项目2 学生信息查询 338
项目3 学生信息修改 341
项目4 学生成绩录入 344
实习2 C#学生成绩管理系统(ASP.NET) 350
项目1 创建连接和主程序 350
项目2 学生信息查询 352
项目3 学生成绩查询 356
项目4 学生信息修改 359
项目5 学生成绩录入 363
附录A Visual Studio 2005的安装 370
附录B 样本数据库 374