第1章 .NET Framework体系结构 1
1.1 C#与.NET Framework 1
1.1.1 C#简介 1
1.1.2 .NET Framework简介 2
1.2 公共语言运行时 5
1.2.1 公共类型系统 5
1.2.2 公共语言规范 6
1.2.3 中间语言 7
1.2.4 托管执行过程 8
1.2.5 自动内存管理 9
1.3 .NET Framework类库 10
1.4 程序集 12
1.4.1 程序集概述 12
1.4.2 程序集内容 13
1.4.3 程序集清单 14
1.5 命名空间 15
1.5.1 命名空间结构 15
1.5.2 定义命名空间 17
1.5.3 引用命名空间 19
1.6 配置.NET Framework环境 21
1.6.1 Visual Studio 2008简介 21
1.6.2 安装Visual Studio 2008 22
1.6.3 熟悉Visual Studio 2008 26
1.7 用C#创建NET应用程序 29
1.7.1 Windows窗体应用程序 29
1.7.2 ASP.NET Web应用程序 30
1.7.3 Windows服务 31
1.7.4 Windows Presentation Foundation(WPF) 31
1.7.5 WindowsCommunication Foundation(WCF) 32
1.7.6Windows Workflow Foundation(WWF) 32
第2章 C#编程基础 34
2.1 变量和数据类型 34
2.1.1 使用变量和数据类型 34
2.1.2 声明和初始化变量 36
2.1.3 改变数据类型 37
2.1.4 使用引用变量 37
2.2 运算符与表达式 38
2.2.1 运算符 38
2.2.2 表达式 42
2.3 控制语句 42
2.3.1 条件语句 42
2.3.2 循环语句 45
2.3.3 跳转语句 48
2.4 枚举类型 50
2.5 实验指导 51
2.6 思考与练习 58
第3章 对象和类型 60
3.1 类和结构 60
3.1.1 定义类 60
3.1.2 定义结构 62
3.2 类成员 64
3.2.1 数据成员 64
3.2.2 构造函数 66
3.2.3 函数成员 68
3.2.4 只读字段 71
3.3 结构 72
3.3.1 结构是值类型 72
3.3.2 结构和继承 73
3.3.3 结构的构造函数 74
3.4 部分类 74
3.5 Object类 76
3.5.1 System.Object方法 76
3.5.2 ToString()方法 77
3.6 实验指导 79
3.7 思考与练习 84
第4章 继承和多态 87
4.1 继承的类型 87
4.1.1 实现继承和接口继承 87
4.1.2 多重继承 88
4.1.3 结构和类 88
4.2 实现继承 88
4.3 派生类的构造函数 89
4.3.1 无参数的构造函数 90
4.3.2 带参数的构造函数 90
4.3.3 构造函数的执行顺序 91
4.4 抽象类和抽象方法 92
4.5 密封类和密封方法 93
4.6 多态性 94
4.6.1 虚方法 94
4.6.2 隐藏方法 95
4.6.3 调用函数的基类版本 96
4.7 接口 97
4.7.1 定义和实现接口 97
4.7.2 派生的接口 99
4.8 实验指导 100
4.9 思考与练习 106
第5章 数组 109
5.1 简单数组 109
5.1.1 数组的声明 109
5.1.2 数组的初始化 110
5.1.3 访问数组元素 111
5.1.4 使用引用类型 112
5.2 复合数组 112
5.2.1 多维数组 113
5.2.2 锯齿数组 114
5.3 Array 115
5.3.1 属性 115
5.3.2 创建数组 116
5.3.3 复制数组 117
5.3.4 排序 119
5.4 数组和集合接口 122
5.4.1 IComparable接口 122
5.4.2 ICollection接口 123
5.4.3 IList接口 125
5.4.4 lEnumerable接口 128
5.5 实验指导 129
5.6 思考与练习 133
第6章 类型强制转换 135
6.1 类型的安全性 135
6.1.1 类型转换 135
6.1.2 装箱和拆箱 138
6.2 对象的相等比较 139
6.2.1 引用类型的相等比较 140
6.2.2 值类型的相等比较 141
6.3 运算符重载 142
6.3.1 运算符的工作方式 142
6.3.2 运算符重载的声明 143
6.3.3 运算符重载示例:Vector结构 144
6.4 用户定义的数据类型转换 149
6.4.1 执行用户定义的类型转换 150
6.4.2 多重数据类型转换 155
6.5 实验指导 157
6.6 思考与练习 160
第7章 字符串和正则表达式 162
7.1 System.String类 162
7.1.1 创建字符串 163
7.1.2 StringBuilder成员 166
7.1.3 格式化字符串 167
7.2 正则表达式 172
7.2.1 正则表达式概述 172
7.2.2 RegularExpressions-Playaround示例 174
7.2.3 显示结果 176
7.2.4 匹配、组合和捕获 177
7.3 实验指导 179
7.4 思考与练习 182
第8章 集合 185
8.1 集合类 185
8.2 列表 186
8.2.1 创建列表 186
8.2.2 只读列表 188
8.3 队列 189
8.4 栈 190
8.5 链表 191
8.6 有序表 193
8.7 字典 195
8.7.1 键的类型 196
8.7.2 其他字典类 196
8.8 位数组 197
8.8.1 BitArray 198
8.8.2 BitVector32 198
8.9 性能 199
8.10 实验指导 200
8.11 思考与练习 206
第9章 结构化的异常处理 208
9.1 结构化异常处理的基本知识 208
9.1.1 抛出和捕获异常 209
9.1.2 嵌套Try语句 211
9.2 异常类 213
9.2.1 基于类型的筛选异常 213
9.2.2 System.Exception类的成员 215
9.2.3 内部异常 216
9.2.4 抛出预定义异常实例 217
9.3 用户自定义的异常 219
9.4 实验指导 220
9.5 思考与练习 226
第10章 Windows窗体控件 229
10.1 Windows窗体控件概述 229
10.2 基本控件 230
10.2.1 TextBox控件 230
10.2.2 RichTextBox控件 231
10.2.3 MaskedTextBox控件 232
10.3 显示信息的控件 233
10.3.1 Label控件 234
10.3.2 LinkLabel控件 234
10.4 图形和图像类控件 235
10.4.1 ImageList控件 235
10.4.2 PictureBox控件 236
10.5 按钮类控件 237
10.5.1 Button控件 237
10.5.2 RadioButton控件 239
10.5.3 CheckBox控件 240
10.6 列表类控件 241
10.6.1 ListBox控件和Checked-ListBox控件 241
10.6.2 ComboBox控件 244
10.6.3 ListView控件 246
10.7 容器类控件 249
10.7.1 Panel控件 249
10.7.2 GroupBox控件 250
10.8 其他控件 250
10.8.1 Timer组件 251
10.8.2 Notifylcon控件 251
10.9 实验指导 252
10.10 思考与练习 261
第11章 MDI程序设计 263
11.1 MDI概述 263
11.2 MDI窗体 264
11.2.1 创建MDI应用程序 264
11.2.2 工具栏 266
11.2.3 状态栏 269
11.2.4 标准窗体和MDI应用程序 271
11.3 菜单和MDI应用程序 273
11.3.1 创建MDI菜单 273
11.3.2 合并菜单 275
11.3.3 设置菜单项 277
11.3.4 使用菜单项选择MDI子窗体 278
11.3.5 排序子窗体 279
11.3.6 快捷菜单 280
11.4 管理MDI应用程序 282
11.4.1 MDI窗体事件关系 282
11.4.2 MDI子窗体 282
11.5 实验指导 284
11.6 思考与练习 289
第12章 ADO.NET数据库编程 291
12.1 ADO.NET概述 291
12.2 定义一个数据库连接 292
12.2.1 定义一个连接字符串 293
12.2.2 存储连接字符串 295
12.2.3 读取连接字符串 296
12.2.4 测试连接 296
12.3 操作数据库 299
12.3.1 使用DataAdapter填充DataSet对象 299
12.3.2 使用Command对象 300
12.3.3 使用DataReader类 302
12.3.4 使用DataTable和DataVeiw类 304
12.3.5 定义数据库关系 306
12.3.6 使用CommandBuilder生成SQL语句 308
12.4 DataSet应用 309
12.4.1 更新DataSet 309
12.4.2 给DataSet添加数据 311
12.4.3 对DataSet排序和筛选 312
12.5 实验指导 314
12.6 思考与练习 320
第13章 高级数据库编程 322
13.1 DataGridView控件 322
13.2 数据绑定 324
13.2.1 简单绑定 324
13.2.2 复杂绑定 326
13.3 Crystal Report报表 327
13.3.1 创建报表 327
13.3.2 报表设计器 330
13.3.3 修改报表 331
13.3.4 使用报表 331
13.4 实验指导 333
13.5 思考与练习 336
第14章 .NET Framework3.5开发 338
14.1 LINQ 338
14.1.1 LINQ概述 338
14.1.2 LINQ简单用法 339
14.1.3 LINQ操作 341
14.2 WF开发 342
14.2.1 WF工作流概述 342
14.2.2 创建一个简单的工作流 343
14.3 WCF开发 344
14.3.1 WCF概述 345
14.3.2 工作流服务 346
14.3.3 持久性服务 349
14.4 Office开发 351
14.4.1 Office解决方案概述 351
14.4.2 使用外接程序创建自定义Word 352
14.5 实验指导 354
14.6 思考与练习 359
参考答案 361