第1章 概述 1
1.1 Microsoft.NET技术 1
1.1.1 Microsoft.NET概述 1
1.1.2 Microsoft.NET框架 1
1.2 C#语言简介 3
1.2.1 C#的起源 3
1.2.2 C#语言的特点 4
1.3 Visual Studio 2010开发环境 4
1.3.1安装Visual Studio 2010 4
1.3.2熟悉Visual Studio 2010开发环境 7
1.4第一个C#程序 11
1.5程序的调试与规范 12
1.5.1断点设置与程序调试 12
1.5.2 C#编写命名建议 13
小结 13
习题 14
第2章 C#编程基础 15
2.0问题导入 15
2.1数据类型 15
2.1.1值类型和引用类型概述 15
2.1.2值类型 16
2.1.3引用类型 19
2.2常量与变量 19
2.2.1变量 19
2.2.2常量 20
2.2.3隐式类型的局部变量 20
2.3类型转换 21
2.3.1隐式转换 21
2.3.2显式转换 22
2.3.3使用Convert类转换 23
2.3.4装箱和拆箱 25
2.3.5数值和字符串之间的转换 25
2.4数组和枚举 25
2.4.1数组的定义和使用 25
2.4.2 Array类 29
2.4.3匿名数组 32
2.4.4枚举的定义和使用 32
2.5操作符和表达式 33
2.5.1算术操作符 34
2.5.2自增和自减操作符 34
2.5.3位操作符 35
2.5.4赋值操作符 36
2.5.5关系操作符 36
2.5.6逻辑操作符 37
2.5.7条件操作符 38
2.5.8运算符的优先级 39
2.6流程控制语句 40
2.6.1分支语句 40
2.6.2循环语句 43
2.6.3跳转语句 47
2.7字符串 51
2.7.1字符串的创建与表示形式 51
2.7.2字符串比较 52
2.7.3字符串查找 52
2.7.4求子字符串 54
2.7.5字符串的插入、删除与替换 54
2.7.6移除首尾指定的字符 55
2.7.7字符串的合并与拆分 55
2.7.8字符串中字母的大小写转换 56
2.7.9 String与StringBuilder的区别 56
2.8问题解决 57
小结 59
习题 59
第3章 面向对象编程基础 63
3.0问题导入 63
3.1类的定义 63
3.1.1类的声明与成员组织 63
3.1.2字段和局部变量 65
3.1.3静态成员和实例成员 66
3.1.4访问修饰符 68
3.2构造函数和析构函数 70
3.2.1构造函数 70
3.2.2析构函数 70
3.3类的方法 72
3.3.1方法的声明 72
3.3.2方法中的参数传递 72
3.3.3方法重载 78
3.4属性与索引器 79
3.4.1属性 79
3.4.2索引器 82
3.5结构 84
3.5.1结构的定义及特点 84
3.5.2结构的使用 84
3.6操作符重载 86
3.7问题解决 88
小结 90
习题 90
第4章 面向对象高级编程 96
4.0问题导入 96
4.1继承 96
4.1.1基类和派生类 97
4.1.2继承过程中的构造函数和析构函数 98
4.2多态 101
4.2.1成员的虚拟和重写 101
4.2.2成员隐藏 103
4.3抽象类 105
4.4密封类 107
4.5接口 108
4.5.1接口的声明与实现 108
4.5.2显式方式实现接口 110
4.6委托与事件 111
4.6.1委托 111
4.6.2事件 113
4.7泛型 115
4.7.1泛型的定义和使用 116
4.7.2可空类型的泛型 117
4.8泛型集合 118
4.8.1列表 118
4.8.2字典 120
4.9问题解决 122
小结 124
习题 125
第5章 Windows程序设计 128
5.0问题导入 128
5.1 Windows窗体 129
5.1.1 Windows窗体简介 129
5.1.2创建简单的Windows Form 129
5.2窗体控件 131
5.2.1文本输入类控件 131
5.2.2选择类控件 135
5.2.3列表控件 139
5.2.4容器 145
5.2.5菜单、状态栏和工具栏 150
5.2.6对话框 154
5.2.7其他常用控件 157
5.3多文档界面 160
5.3.1设置MDI窗体 161
5.3.2排列子窗体 162
5.4 GDI+编程 162
5.4.1创建Graphics对象 163
5.4.2创建Pen对象 164
5.4.3创建Brush对象 164
5.4.4绘制基本图形 166
5.5问题解决 167
小结 173
习题 173
第6章 目录与文件管理 175
6.0问题导入 175
6.1目录管理 175
6.1.1 DirectoryInfo类 175
6.1.2 Directory类 178
6.1.3 Path类 179
6.2文件管理 181
6.2.1 FileInfo类 181
6.2.2 File类 183
6.3驱动器管理 185
6.4文件的读写 186
6.4.1文件编码 186
6.4.2 Stream类 186
6.4.3 StreamReader和StreamWriter类 188
6.4.4 BinaryReader和BinaryW riter类 190
6.5问题解决 191
小结 193
习题 193
第7章 数据库与ADO.NET 196
7.0问题导入 196
7.1 ADO.NET简介 196
7.1.1 ADO.NET的发展与简介 196
7.1.2 ADO.NET的优越性 198
7.2数据源连接 199
7.2.1操作数据库的简单示例 200
7.2.2通过向导的方式建立数据库连接 203
7.2.3通过编程的方式建立数据库连接 204
7.2.4连接字符串 206
7.2.5连接池的使用 206
7.3 Command对象与DataReader对象 208
7.3.1 Command对象与DataReader对象简介 208
7.3.2建立SqlCommand对象 208
7.3.3使用SqlCommand执行SQL语句 209
7.4 DataAdapter对象与DataSet对象 213
7.4.1 SqlDataAdapter对象 213
7.4.2 DataTable对象 216
7.4.3 DataSet对象 217
7.5存储过程 220
7.6综合实例 223
7.7问题解决 226
小结 233
习题 234
第8章 异常处理 236
8.0问题导入 236
8.1错误和异常 236
8.2 C#中的异常处理结构 239
8.2.1使用try-catch语句捕捉异常 239
8.2.2使用try-catch-finally语句捕捉异常 240
8.2.3使用throw语句抛出异常 242
8.3 C#中异常的层次结构 243
8.3.1异常传播 243
8.3.2 Exception类和常见异常类型 245
8.4使用异常的原则和技巧 247
8.5问题解决 248
小结 249
习题 249
第9章 进程和线程技术 252
9.0问题导入 252
9.1进程与线程 252
9.2进程 253
9.3线程概述 256
9.3.1线程的定义和分类 256
9.3.2多线程的使用 256
9.3.3线程的生命周期和状态 257
9.3.4线程对象和属性 258
9.4线程调度 258
9.4.1创建线程 258
9.4.2线程休眠 259
9.4.3终止线程 260
9.5线程优先级 263
9.6线程同步 264
9.6.1线程同步机制 265
9.6.2使用lock关键字实现线程同步 265
9.6.3使用Monitor驱动对象实现线程同步 267
9.6.4使用Mutex类实现线程同步 269
9.7问题解决 270
小结 272
习题 272
第10章 综合实例——图书馆管理系统 274
10.1开发背景 274
10.2需求分析 274
10.3系统设计 275
10.3.1系统目标 275
10.3.2业务流程图 275
10.3.3系统功能结构 275
10.3.4系统预览 275
10.3.5数据库设计 277
10.4系统架构的设计与实现 280
10.5数据访问层的设计与实现 283
10.5.1数据实体类的设计与实现 283
10.5.2数据访问类的设计与实现 284
10.5.3其他问题说明 290
10.6业务逻辑层的设计与实现 290
10.7呈现层的设计与实现 292
10.7.1母版页的设计 292
10.7.2系统首页的设计 296
10.7.3典型模块的设计 299
10.8发布和部署应用 306
小结 309
第11章 实训指导 310
11.1实训1熟悉C#开发环境 310
11.1.1实训目的和要求 310
11.1.2题目1如何运行和中断程序 310
11.1.3题目2模拟邮箱注册 311
11.1.4题目3创建和调用C#类库程序 311
11.2实训2 C#数据类型与数组 312
11.2.1实训目的和要求 312
11.2.2题目1定义用户结构体 312
11.2.3题目2数组的统计运算 313
11.2.4题目3使用DateTime结构 314
11.3实训3表达式和流程控制 315
11.3.1实训目的和要求 315
11.3.2题目1计算购物金额 315
11.3.3题目2计算最小公倍数和最大公约数 316
11.3.4题目3冒泡排序算法的实现 317
11.4实训4类和结构 318
11.4.1实训目的和要求 318
11.4.2题目1圆类 318
11.4.3题目2用户注册登录模型 319
11.4.4题目3按销量对图书排序 319
11.5实训5继承和多态 320
11.5.1实训目的和要求 320
11.5.2题目1顾客类的派生 320
11.5.3题目2汽车类的派生与多态 321
11.5.4题目3管理学生信息 322
11.6实训6接口和泛型 323
11.6.1实训目的和要求 323
11.6.2题目1接口定义和实现 323
11.6.3题目2泛型方法 325
11.6.4题目3泛型集合 325
11.7实训7 Windows应用程序 326
11.7.1实训目的和要求 326
11.7.2题目1计算器的设计 326
11.7.3题目2菜单设计 327
11.7.4题目3多文档界面设计 328
11.7.5题目4控件综合应用 329
11.8实训8 GDI+编程 331
11.8.1实训目的和要求 331
11.8.2题目1基本图形绘制 332
11.8.3题目2绘制实体图形 332
11.8.4题目3绘制图形和文字 333
11.9实训9文件和流 334
11.9.1实训目的和要求 334
11.9.2题目1目录的管理 334
11.9.3题目2文件的管理 335
11.10实训10数据库应用 336
11.10.1实训目的和要求 336
11.10.2题目1数据库显示 336
11.10.3题目2数据库操作 337
11.10.4题目3学生信息的管理 337
11.11实训11异常处理 338
11.11.1实训目的和要求 338
11.11.2题目1处理访问数组元素异常 339
11.11.3题目2处理数据库访问异常 339
参考文献 341