第1章 .NET与C 1
1.1 .NET概述 1
1.2 C#语言 2
1.3 公共语言运行库 2
1.4 编写第一个C#程序 3
1.5 Visual Studio.NET 2003集成开发环境 5
1.5.1 Visual Studio.NET 2003集成开发环境窗口介绍 6
1.5.2 Visual Studio.NET 2003集成开发环境菜单介绍 11
1.5.3 【文件】菜单 11
1.5.4 【编辑】菜单 12
1.5.5 【视图】菜单 12
1.5.6 【工具】菜单 14
1.5.7 【窗口】菜单 15
1.6 第一个C#程序 17
1.6.1 开发步骤 17
1.6.2 运行 19
1.6.3 点评 20
第2章 C#语言程序设计基础 21
2.1 简单数据类型 21
2.1.1 整数类型 22
2.1.2 布尔类型 23
2.1.3 浮点类型 24
2.1.4 decimal类型 25
2.1.5 字符类型 26
2.2 值类型和引用类型 27
2.2.1 结构 27
2.2.2 类 29
2.2.3 值类型和引用类型的区别 30
2.3 变量和常量 31
2.3.1 变量 31
2.3.2 常量 32
2.4 表达式与运算符 32
2.4.1 最常用的运算符 33
2.4.2 算术运算符 34
2.4.3 关系运算符 36
2.4.4 逻辑运算符 37
2.4.5 移位运算符 38
2.4.6 运算符的优先级 39
2.5 条件语句if...else 41
2.6 条件语句switch...case 45
2.7 循环语句while和do 47
2.8 循环语句for 51
2.9 跳转语句break和continue 54
2.10 错误和异常处理 55
2.11 综合实例:猜数字 58
第3章 C#基于对象的程序设计 61
3.1 对象的概念 61
3.1.1 生活中的对象概念 61
3.1.2 程序设计中的对象 62
3.2 类 62
3.3 类的字段 63
3.3.1 访问修饰符 64
3.3.2 静态字段 65
3.4 类的方法 66
3.4.1 方法的参数 68
3.4.2 方法的返回值 69
3.4.3 静态方法 70
3.5 类的构造函数 70
3.6 方法的重载 71
3.7 类的属性 74
3.8 数组 76
3.8.1 使用数组 77
3.8.2 多维数组 80
3.8.3 交错数组 82
3.8.4 foreach语句 84
3.9 字符串 85
3.9.1 逐字字符串 85
3.9.2 创建字符串 86
3.9.3 剪裁字符串 90
3.9.4 字符串的比较 91
3.9.5 确定字符串的包含关系 93
3.9.6 控制大小写 95
3.10 类的索引器 96
第4章 应用程序的组织 101
4.1 命名空间 101
4.1.1 使用命名空间 101
4.1.2 声明命名空间 102
4.2 程序集 103
4.2.1 使用程序集 103
第5章 C#面向对象的程序设计 107
5.1 类的继承 107
5.1.1 认识继承 107
5.1.2 Shape类 110
5.1.3 从Shape类继承 112
5.2 所有类的基类:Object 118
5.3 装箱和取消装箱 120
5.4 封装 122
5.5 多态 123
5.6 继承性多态的另一个例子 127
5.7 接口 128
5.8 委托 133
5.9 类的事件 136
5.10 自行定义类的事件 139
5.11 程序设计演练 141
第6章 IO操作和文件系统 145
6.1 .NET框架提供的IO类 145
6.1.1 System.Console类 145
6.1.2 System.IO命名空间 147
6.2 Stream及其派生类 148
6.2.1 查询流的特性 148
6.2.2 读取流 150
6.2.3 写入流 153
6.2.4 查找流 154
6.3 TextReader/TextWriter及其派生类 157
6.3.1 阅读器 158
6.3.2 编写器 159
6.4 BinaryReader/BinaryWriter及其派生类 161
6.5 访问文件系统 163
6.5.1 文件 163
6.5.2 目录 165
第7章 Windows应用程序开发 169
7.1 手工编写第一个带有控件的Windows程序 169
7.1.1 带有控件的Windows程序 169
7.1.2 Windows Forms 172
7.2 使用IDE设计Windows应用程序 172
7.2.1 设计过程 172
7.2.2 分析IDE编写的代码 176
7.3 设计一个稍微复杂的Windows应用程序 180
7.3.1 界面设计 181
7.3.2 编写代码 182
7.3.3 运行计算器程序 186
7.3.4 一些设计思想 186
7.4 窗体的继承:扩展计算器程序 189
7.4.1 继承一个窗体 189
7.4.2 添加记忆功能 192
7.4.3 对程序的解释 195
第8章 高级主题 196
8.1 使用集合类 196
8.1.1 System.Collections的整体设计 196
8.1.2 ArrayList 198
8.1.3 Queue和Stack 202
8.1.4 Hashtable 206
8.1.5 SortedList 210
8.2 更多了解集合类 214
8.3 控制垃圾回收器 218
8.4 序列化和反序列化 221
8.4.1 二进制序列化 221
8.4.2 XML序列化 225
8.5 使用Attribute 229
8.6 运行时类型信息 233
8.6.1 System.Type类 235
8.6.2 反射 236
第9章 访问数据库 240
9.1 Northwind示例数据库 240
9.1.1 Northwind数据库关系图 240
9.1.2 Northwind数据库的结构 241
9.2 ADO.NET体系结构 244
9.2.1 DataSet 245
9.2.2 Connection 246
9.2.3 Command 247
9.2.4 DataReader 249
9.2.5 DataAdapter 251
9.3 主-从关系数据 256
9.4 DataSet详解 259
9.4.1 DataSet到XML 259
9.4.2 XML到DataSet 261
9.4.3 用代码建立DataSet 265
9.4.4 类型化的DataSet 268
第10章 Web应用程序开发初步 272
10.1 第一个ASP.NET程序 273
10.1.1 检查IIS的安装 273
10.1.2 配置IIS 275
10.1.3 编写和运行 277
10.1.4 ASP.NET的执行过程 277
10.2 服务器端代码块 279
10.3 分离页面和代码 281
10.4 ASP.NET服务器控件 282
10.4.1 Label控件 282
10.4.2 Button控件 284
10.4.3 DropDownList控件 285
10.4.4 对服务器控件使用后端代码 287
10.5 一个实例:简易计算器 288
10.6 使用客户端验证 291
第11章 Web应用程序与数据库 294
11.1 在页面上显示数据 294
11.2 使用DataSet 297
11.3 使用Repeater 299
11.4 使用DataList 302
11.5 将数据更改提交到数据库 308
第12章 图形和图像的绘制与编辑 313
12.1 GDI+ 313
12.1.1 Graphics类 313
12.2 绘制简单图形 314
12.3 填充图形 318
12.4 显示文本 322
12.4.1 有关字体的基本知识 322
12.4.2 绘制文本 322
12.5 轨迹 324
12.6 显示图像 326
12.7 图像的缩放和裁剪 329
12.8 图像的扭曲和变形 332
第13章 网络编程 335
13.1 Socket 335
13.2 可插接式协议 337
13.3 使用TCP和UDP通讯 340
13.3.1 使用TCP的HelloServer 340
13.3.2 使用UDP的HelloServer 343
13.4 使用Socket类 346
第14章 综合实例 350
14.1 Duwamish7总体结构 350
14.2 Duwamish7数据库 352
14.2.1 Books 352
14.2.2 Items 353
14.2.3 Orders 353
14.2.4 DailyPick 353
14.3 Duwamish7各层结构 354
14.3.1 业务实体 354
14.3.2 数据访问 354
14.3.3 业务规则 355
14.3.4 业务外观 355
14.4 Duwamish7业务实体分析 355
14.4.1 代码分析 355
14.4.2 可能的改进 359
14.5 Duwamish7数据访问层分析 359
14.5.1 Dispose()方法分析 359
14.5.2 Categories类分析 361
14.5.3 Books类分析 363
14.5.4 Orders类分析 363
14.5.5 Customers类分析 367
14.6 Duwamish7业务规则层分析 368
14.7 Duwamish7业务外观层分析 370
14.7.1 OrderSystem类分析 371
14.7.2 ProductSystem类分析 373
14.7.3 CustomerSystem类分析 374
14.8 Duwamish7 Web层情景分析 375
14.8.1 情景一:建立新账户 376
14.8.2 情景二:购物 382
附录 练习答案 394