第1章 .NET简介 1
1.1 经典编程技术简介 1
1.1.1 C编程技术 1
1.1.2 C++编程技术 2
1.1.3 Visual Basic 6.0编程技术 3
1.1.4 Java编程技术 4
1.1.5 Python编程技术 5
1.1.6 .NET平台编程 6
1.2 .NET平台 6
1.2.1 .NET平台框架 6
1.2.2 C#类库简介 7
1.2.3 C#的特点 8
1.2.4 其他.NET编程语言 9
1.2.5 多语言混合编程 9
1.2.6 .NET程序集简介 10
1.2.7 .NET的平台无关特性 10
1.3 CIL技术 11
1.3.1 CIL简介 11
1.3.2 CIL的优点 13
1.3.3 CIL与具体平台 13
1.3.4 类型元数据简介 14
1.3.5 程序集清单简介 16
1.4 CTS技术 16
1.4.1 类(class) 17
1.4.2 结构(struct) 17
1.4.3 接口(interface) 18
1.4.4 枚举(enum) 18
1.4.5 代理(delegate) 19
1.4.6 内建数据类型 19
1.5 其他概念 20
1.5.1 CLS技术 20
1.5.2 CLR技术 20
1.5.3 .NET的命名空间 21
1.5.4 访问命名空间 21
1.5.5 引用外部程序集 23
1.6 ildasm实用工具 23
1.6.1 使用ildasm 23
1.6.2 查看CIL代码 23
1.6.3 查看类型元数据 24
1.6.4 查看程序集元数据 24
1.7 部署.NET运行时 25
1.8 小结 25
第2章 C#入门 26
2.1 C#命令行编译器csc 26
2.1.1 csc简介 26
2.1.2 配置csc 27
2.1.3 配置其他工具 32
2.1.4 用csc编译程序 32
2.1.5 引用外部程序集 35
2.1.6 编译多个源文件 36
2.1.7 csc响应文件 38
2.1.8 默认响应文件 39
2.2 C#命令行调试器cordbg 40
2.2.1 cordbg简介 40
2.2.2 命令行调试方法 42
2.3 使用文本编辑器 43
2.3.1 使用EditPlus 43
2.3.2 设置语法高亮显示 44
2.3.3 设置EditPlus 45
2.3.4 使用EditPlus进行程序开发 47
2.4 SharpDevelop 48
2.4.1 SharpDevelop安装与简介 48
2.4.2 创建项目 50
2.4.3 辅助面板简介 51
2.4.4 Windows窗体设计 51
2.5 Visual Studio 2005 52
2.5.1 使用Visual Studio 2005进行程序开发 53
2.5.2 熟悉Visual Studio 2005 53
2.5.3 解决方案资源管理器面板 55
2.5.4 类视图面板 55
2.5.5 对象浏览器面板 55
2.5.6 代码编辑器面板 56
2.5.7 重构特性 57
2.5.8 类设计器 57
2.5.9 帮助提示 58
2.6 小结 58
第3章 C#编程基本知识 59
3.1 应用程序的基本构成 59
3.1.1 C#应用程序实例 59
3.1.2 Main方法 60
3.1.3 命令行参数 62
3.1.4 在Visual Studio 2005中设置命令行参数 64
3.1.5 系统环境参数 65
3.1.6 类和对象的概念 66
3.1.7 构造函数 68
3.1.8 Main方法的组织 70
3.2 基本输入输出 71
3.2.1 控制台类 71
3.2.2 控制台输入输出 73
3.2.3 格式化输出 74
3.2.4 格式化字符串 77
3.3 变量与常量 78
3.3.1 变量的声明与默认值 78
3.3.2 变量初始化 79
3.3.3 常量 80
3.3.4 变量和常量的使用 81
3.3.5 只读字段 82
3.4 静态成员 84
3.4.1 静态只读字段 84
3.4.2 static关键字 85
3.4.3 静态方法 86
3.4.4 静态数据 87
3.4.5 静态构造函数 89
3.4.6 静态类 90
3.5 小结 92
第4章 C#程序流程 93
4.1 参数传递 93
4.1.1 默认参数传递 93
4.1.2 ref关键字 95
4.1.3 out关键字 97
4.1.4 params关键字 99
4.2 循环 100
4.2.1 for循环 100
4.2.2 foreach循环 103
4.2.3 while和do-while循环 106
4.3 分支语句 109
4.3.1 关系运算符 109
4.3.2 if-else语句 111
4.3.3 switch语句 115
4.4 值类型和引用类型 118
4.4.1 值类型 118
4.4.2 引用类型 120
4.5 类型转换 121
4.5.1 简单类型转换 121
4.5.2 ToString方法 122
4.5.3 Convert类 122
4.6 枚举 123
4.6.1 枚举的基本概念 123
4.6.2 示例 124
4.7 小结 128
第5章 C#基本类型 129
5.1 Object基类 129
5.1.1 默认Object类型 129
5.1.2 重写ToString()方法 131
5.1.3 重写Equals()方法 133
5.1.4 重写GetHashCode()方法 135
5.2 类型 137
5.2.1 数值类型 137
5.2.2 布尔类型 139
5.2.3 字符类型 141
5.2.4 日期时间类型 143
5.2.5 字符串类型 144
5.2.6 字符串运算 149
5.2.7 转义字符 152
5.2.8 StringBuilder类型 154
5.2.9 数组 158
5.2.10 多维数组 160
5.3 小结 162
第6章 面向对象编程 163
6.1 C#类简介 163
6.1.1 类的定义 163
6.1.2 方法重载 165
6.1.3 this关键字 171
6.1.4 公共访问接口 172
6.2 面向对象编程思想 177
6.2.1 封装 177
6.2.2 继承 179
6.2.3 多态 181
6.3 属性 183
6.3.1 只读属性 183
6.3.2 只写属性 185
6.3.3 静态属性 186
6.4 继承 187
6.4.1 base关键字 187
6.4.2 多重继承 189
6.4.3 protected关键字 189
6.4.4 密封类 191
6.4.5 代理 192
6.5 多态 194
6.5.1 virtual和override关键字 194
6.5.2 sealed关键字 196
6.5.3 抽象类 197
6.5.4 抽象方法 198
6.5.5 成员隐藏 200
6.6 分部类 202
6.7 C#XML注释 204
6.7.1 注释字符 204
6.7.2 生成文档 205
6.8 小结 206
第7章 异常处理 207
7.1 异常简介 207
7.2 异常处理基础 208
7.2.1 异常类 208
7.2.2 抛出异常 209
7.2.3 捕获异常 211
7.3 异常属性 214
7.3.1 TargetSite属性 214
7.3.2 StackTrace属性 216
7.3.3 HelpLink属性 217
7.3.4 Data属性 219
7.4 系统和应用程序异常 221
7.4.1 系统异常 221
7.4.2 应用程序异常简介 221
7.4.3 创建自定义应用程序异常 221
7.5 异常处理进阶 223
7.5.1 catch关键字的使用 224
7.5.2 异常的重新抛出 225
7.5.3 内部异常 226
7.6 异常最终处理 227
7.6.1 finally块 227
7.6.2 未处理异常 229
7.7 使用Visual Studio 2005处理异常 229
7.8 小结 230
第8章 接口与集合 231
8.1 接口简介 231
8.1.1 接口的定义 231
8.1.2 接口的实现 233
8.1.3 接口和抽象类的异同 235
8.2 类型判别与转换 235
8.2.1 as关键字 235
8.2.2 is关键字 237
8.3 高级特性 241
8.3.1 将接口作为参数 241
8.3.2 接口返回值 243
8.3.3 接口数组 246
8.3.4 显式接口实现 249
8.3.5 接口的继承 253
8.3.6 多重继承 254
8.4 集合接口 257
8.4.1 ICollection接口 257
8.4.2 IDictionary接口 257
8.4.3 IList接口 257
8.5 集合类型 258
8.5.1 ArrayList类型 258
8.5.2 Queue类型 263
8.5.3 Stack类型 269
8.6 小结 272
第9章 代理和事件 273
9.1 代理简介 273
9.1.1 .NET中的代理 273
9.1.2 代理的定义 274
9.1.3 代理使用举例 274
9.1.4 多路代理 277
9.2 事件 279
9.2.1 事件简介 279
9.2.2 事件示例 281
9.3 小结 287
第10章 C#进阶 288
10.1 索引器 288
10.1.1 自定义索引器 288
10.1.2 自定义索引举例 289
10.1.3 索引器的使用 289
10.2 运算符重载 292
10.2.1 示例介绍 292
10.2.2 运算符运算规则 292
10.2.3 运算符重载定义 293
10.2.4 定义运算类 294
10.2.5 一元运算符重载 296
10.2.6 关系运算符重载 297
10.2.7 加法运算符重载 297
10.2.8 减法运算符重载 299
10.2.9 乘法运算符重载 300
10.3 其他重要关键字 303
10.3.1 checked关键字 303
10.3.2 unchecked关键字 305
10.3.3 sizeof关键字 307
10.4 小结 308
第11章 泛型 309
11.1 泛型简介 309
11.1.1 泛型的引入 309
11.1.2 非泛型集合的缺点 310
11.1.3 泛型的处理方式和List<T>类型 313
11.2 泛型方法和结构 314
11.2.1 创建泛型方法 314
11.2.2 创建泛型结构 315
11.3 创建自定义泛型 317
11.3.1 创建自定义泛型 317
11.3.2 泛型接口 321
11.3.3 泛型的重载 321
11.3.4 泛型类的继承 322
11.4 小结 326
第12章 输入输出 327
12.1 System.IO命名空间简介 327
12.2 使用DirectoryInfo类 328
12.2.1 使用DirectoryInfo检测文件夹 328
12.2.2 使用DirectoryInfo获取文件 330
12.2.3 使用DirectoryInfo创建文件夹 331
12.3 使用Directory类 333
12.4 使用DriveInfo类 335
12.5 使用FileInfo类 337
12.5.1 FileInfo类的Create()方法 337
12.5.2 FileInfo类的Open()方法 338
12.6 使用File类 340
12.7 Stream类 341
12.7.1 Stream类简介 341
12.7.2 使用FileStream类 342
12.8 使用StreamWriter和StreamReader 345
12.8.1 写入文件 345
12.8.2 读取文件 347
12.9 使用BinaryWriters和BinaryReaders 348
12.10 监视文件 351
12.11 小结 354
第13章 Windows窗体编程基础 355
13.1 System.Windows.Forms命名空间 355
13.2 Windows窗体的创建 357
13.2.1 手工创建窗体 357
13.2.2 自动创建窗体 358
13.3 Application类 361
13.4 Control类 363
13.4.1 Control简介 363
13.4.2 MouseMove事件的响应 364
13.4.3 鼠标按键的判断 365
13.4.4 键盘事件的响应 367
13.5 常见控件 369
13.5.1 按钮控件 370
13.5.2 标签控件 371
13.5.3 文本框控件 373
13.5.4 单选按钮控件 375
13.5.5 复选框控件 377
13.5.6 列表框控件 381
13.5.7 组合框控件 383
13.6 小结 385
第14章 高级控件 386
14.1 主菜单 386
14.1.1 创建主菜单 386
14.1.2 主菜单事件 388
14.1.3 添加子菜单 390
14.2 上下文菜单 390
14.2.1 创建上下文菜单 390
14.2.2 上下文菜单事件 392
14.3 使用状态栏 394
14.3.1 创建状态栏 394
14.3.2 设计状态栏 395
14.4 使用工具栏 398
14.4.1 创建工具栏 398
14.4.2 使用工具栏 399
14.5 多文档应用程序 402
14.5.1 创建父窗体 402
14.5.2 创建子窗体 403
14.5.3 子窗体的排列 406
14.6 小结 409
第15章 GDI+图形编程 410
15.1 GDI+命名空间简介 410
15.2 System.Drawing命名空间简介 410
15.3 System.Drawing命名空间的主要类 411
15.3.1 Point类 411
15.3.2 Rectangle类 412
15.3.3 Region类 414
15.4 Graphics类简介 415
15.5 GDI+坐标系统 417
15.5.1 系统默认单位 417
15.5.2 其他单位 418
15.5.3 坐标系转换 419
15.6 GDI+中的颜色 420
15.6.1 Color枚举 420
15.6.2 颜色选择对话框 421
15.7 GDI+中的字体 423
15.7.1 字体简介 423
15.7.2 获取已安装的字体 424
15.7.3 字体设置对话框 426
15.8 GDI+中的画笔 428
15.9 GDI+中的画刷 432
15.10 小结 434
第16章 ASP.NET编程 435
16.1 HTTP简介 435
16.2 HTML 436
16.2.1 HTML简介 436
16.2.2 HTML文件编辑 437
16.2.3 HTML语法简介 438
16.3 IIS服务器 442
16.3.1 IIS简介 442
16.3.2 IIS虚拟目录 443
16.3.3 ASP.NET 2.0应用程序服务器 445
16.4 ASP.NET编程 445
16.4.1 创建ASP.NET项目 446
16.4.2 Label控件 447
16.4.3 Button控件 449
16.4.4 TextBox控件 451
16.4.5 DropDownList控件 453
16.4.6 ListBox控件 455
16.4.7 CheckBox控件 457
16.4.8 RadioButton控件 460
16.4.9 Table控件 462
16.5 验证控件 464
16.5.1 RequiredFieldValidator控件 465
16.5.2 RegularExpressionValidator控件 467
16.5.3 RangeValidator控件 469
16.5.4 CompareValidator控件 471
16.5.5 ValidationSummary控件 473
16.6 小结 476
第17章 数据访问 477
17.1 ADO.NET 477
17.1.1 ADO.NET简介 477
17.1.2 ADO.NET命名空间 478
17.2 连接数据库 478
17.2.1 使用Visual Studio 2005连接数据库 478
17.2.2 用OLEDB连接数据库 480
17.2.3 用ODBC连接数据库 482
17.3 数据操作 485
17.3.1 数据查询 485
17.3.2 数据添加 488
17.3.3 数据更新 491
17.3.4 数据删除 494
17.4 小结 497