第1部分 C#概述 1
第1章 .NET Framework概述 1
1.1 初识.NET Framework 1
1.1.1 CLR 3
1.1.2 类库 5
1.1.3 部件 5
1.1.4 版本管理 7
1.2 .NET Framework基类概述 8
1.2.1 异常 8
1.2.2 线程 8
1.2.3 委托 9
1.3 小结 9
第2章 C#基础 10
2.1 初识C 10
2.2 变量 10
2.2.1 初始化变量 10
2.2.2 变量修饰符 11
2.2.3 变量数据类型 11
2.2.4 变量类型 12
2.2.5 变量作用域 12
2.2.6 数据类型转换的类别 13
2.3 数组 14
2.4 字符串 15
2.4.1 初始化字符串 15
2.4.2 处理字符串 16
2.5 语句和表达式 17
2.5.1 语句类型 17
2.5.2 表达式 23
2.6 小结 25
第2部分 处理数据 26
第3章 C#中的组件 26
3.1 类 26
3.1.1 声明类 26
3.1.2 继承 27
3.1.3 构造函数 28
3.1.4 析构函数 30
3.2 方法 31
3.2.1 声明方法 31
3.2.2 调用方法 31
3.2.3 向方法传递参数 31
3.2.4 方法修饰符 33
3.2.5 重载方法 33
3.3 名字空间 35
3.3.1 声明名字空间 35
3.3.2 访问名字空间 35
3.3.3 别名 36
3.4 结构 36
3.5 枚举 38
3.6 接口 38
3.7 编写、编译和执行C#程序 39
3.7.1 编写C#程序 39
3.7.2 编译C#程序 41
3.7.3 执行C#程序 41
3.8 小结 42
第4章 深入组件 43
4.1 数组 43
4.1.1 一维数组 43
4.1.2 多维数组 43
4.1.3 数组中的方法 44
4.2 集合 45
4.2.1 创建集合 45
4.2.2 使用集合 46
4.3 索引 48
4.4 装箱和拆箱 49
4.5 预处理指令 50
4.5.1 #region和#endregion 50
4.5.2 #define和#undef 51
4.5.3 #if、#endif、#else和#elif 51
4.5.4 #error和#warning 52
4.6 小结 52
第5章 属性和特性 54
5.1 属性 54
5.1.1 声明属性 54
5.1.2 属性类 54
5.1.3 属性参数 55
5.1.4 默认属性 55
5.2 特性 57
5.2.1 声明特性 57
5.2.2 访问器 57
5.2.3 特性类型 58
5.3 小结 59
第6章 线程 60
6.1 线程基础 60
6.1.1 创建线程 61
6.1.2 终止线程 62
6.1.3 合并线程 63
6.1.4 挂起线程 63
6.1.5 线程休眠 64
6.1.6 线程状态 65
6.1.7 线程优先级 66
6.1.8 同步 67
6.2 小结 68
第3部分 专业项目1 69
项目1 创建客户管理项目 69
第7章 项目个案研究 70
7.1 个案研究 70
7.2 项目生命周期 70
7.2.1 需求分析 71
7.2.2 总体设计 72
7.2.3 主键和外键 76
7.2.4 引用完整性 77
7.2.5 规范化 78
7.2.6 设计数据库 79
7.2.7 设计客户管理项目中使用的Windows窗体 81
7.2.8 详细设计 83
7.2.9 构造 88
7.2.10 集成和测试 89
7.2.11 用户验收测试 89
7.2.12 实现 89
7.2.13 运行和维护 89
7.3 小结 89
第8章 Windows窗体和控件 90
8.1 Visual Studio .NET项目概述 90
8.1.1 创建新项目 91
8.1.2 控制台应用程序 92
8.1.3 Windows应用程序 93
8.2 为客户管理项目创建Windows应用程序 105
8.2.1 为Forml创建界面 105
8.2.2 为WorkerForm创建界面 107
8.2.3 为CustomerForm创建界面 108
8.2.4 为ReportsForm创建界面 110
8.2.5 为JobDetailsForm创建界面 111
8.3 小结 111
第9章 验证和异常处理 113
9.1 验证 113
9.1.1 确认验证机制 113
9.1.2 使用ErrorProvider控件 118
9.2 处理异常 120
9.2.1 使用try和catch语句 121
9.2.2 使用Debug和Trace类 122
9.3 调试客户管理应用程序 123
9.3.1 使用Visual Studio.NET的调试功能 123
9.3.2 使用Task List 125
9.4 小结 126
第10章 使用ADO.NET与数据库交互 127
10.1 用ADO.NET将Windows窗体连接到数据源 127
10.1.1 创建Form1 127
10.1.2 将WorkerForm连接到Workers表 128
10.1.3 将CustomerForm连接到tblCustomer表 136
10.1.4 将JobDetails窗体连接到tblJobDetails表 145
10.2 小结 155
第11章 Crystal报表 156
11.1 Crystal Reports Designer工具概述 156
11.2 创建报表窗体 156
11.2.1 创建Crystal报表 157
11.2.2 创建Windows Forms Viewer控件 162
11.3 创建Monthly Customer Visit报表 164
11.4 创建Monthly Balancing and Alignment报表 166
11.5 创建Monthly Worker报表 167
11.6 小结 168
第12章 部署Windows应用程序 169
12.1 部署Windows应用程序概述 169
12.1.1 Visual Studio.NET中可用的部署项目 169
12.1.2 部署项目编辑器 181
12.2 小结 190
第4部分 专业项目2 191
项目2 创建员工记录系统(ERS)项目 191
第13章 项目个案研究和设计 192
13.1 个案研究 192
13.2 项目生命周期 192
13.2.1 需求分析 192
13.2.2 总体设计 193
13.2.3 详细设计 199
13.3 小结 199
第14章 实现业务逻辑 200
14.1 填充TreeView控件 200
14.1.1 在TreeView控件中显示员工代码 200
14.1.2 事件处理 203
14.1.3 在ListView控件中显示员工细节 204
14.2 小结 212
第5部分 专业项目3 213
项目3 创建Creative Learning项目 213
第15章 项目个案研究和设计方法 214
15.1 个案研究 214
15.2 项目生命周期 214
15.2.1 需求分析 215
15.2.2 总体设计 215
15.2.3 详细设计 221
15.3 小结 223
第16章 实现编程逻辑 224
16.1 为应用程序添加编程逻辑 224
16.1.1 为窗体Load()方法添加代码 225
16.1.2 为OK按钮添加代码 226
16.1.3 为Exit按钮添加代码 233
16.2 小结 233
第17章 与Microsoft Word文档及Event Viewer交互 234
17.1 与Microsoft Word文档交互 234
17.1.1 Created事件 234
17.1.2 为Created事件添加代码 234
17.2 XML概述 237
17.2.1 XmlReader类 238
17.2.2 XmlWriter类 239
17.2.3 显示XML文档中的数据 239
17.2.4 在Event Log中显示错误消息 241
17.2.5 显示来自Event Viewer的事件条目 245
17.2.6 在消息框中显示来自Summary.xml文档的数据 247
17.3 小结 254
第6部分 专业项目4 255
项目4 创建机票预订入口 255
第18章 项目个案研究和设计 256
18.1 航空公司概述 256
18.1.1 业务经理的角色 257
18.1.2 网络管理员的角色 257
18.1.3 业务线路管理角色 257
18.2 项目需求 258
18.2.1 创建和删除用户帐号 258
18.2.2 添加航班细节 258
18.2.3 预订 259
18.2.4 取消 259
18.2.5 状态查询 259
18.2.6 确认机票 259
18.2.7 创建报表 260
18.2.8 启动常客计划 260
18.2.9 小结任务 260
18.3 项目设计 261
18.3.1 数据库设计 261
18.3.2 Web窗体设计 266
18.3.3 利用目录结构保证安全 273
18.4 小结 274
第19章 ASP.NET Web应用程序基础 275
19.1 从ASP.NET开始 275
19.1.1 ASP.NET应用程序的先决条件 275
19.1.2 ASP.NET中的新功能 276
19.1.3 ASP.NET应用程序的类型 277
19.2 研究ASP.NET Web应用程序 277
19.2.1 Web窗体概述 277
19.2.2 Web窗体服务器控件 279
19.3 配置ASP.NET应用程序 282
19.3.1 为ASP.NET应用程序配置安全措施 283
19.3.2 部署ASP.NET应用程序 283
19.4 创建ASP.NET应用程序示例 284
19.4.1 创建新项目 284
19.4.2 为项目添加控件 284
19.4.3 编写应用程序代码 285
19.5 小结 290
第20章 设计应用程序 292
20.1 创建数据库模式 292
20.1.1 创建数据库表 293
20.1.2 管理主键和关系 296
20.1.3 查看数据库模式 299
20.2 设计应用程序窗体 299
20.2.1 应用程序接口标准化 300
20.2.2 应用程序中的公用窗体 300
20.2.3 网络管理员的窗体 303
20.2.4 业务经理的窗体 305
20.2.5 业务线路管理员的窗体 308
20.3 小结 311
第21章 实现业务逻辑 312
21.1 通过编程实现登录和注销功能 312
21.1.1 default.aspx窗体 312
21.1.2 Logoff.aspx窗体 316
21.2 为网络管理员的窗体编写代码 316
21.2.1 ManageUsers.aspx窗体 316
21.2.2 ManageDatabases.aspx窗体 320
21.2.3 ChangePassword.aspx窗体 322
21.2.4 限制对Web窗体的访问 323
21.3 为业务经理窗体编写代码 323
21.3.1 AddFl.aspx窗体 324
21.3.2 RequestID.aspx窗体 326
21.3.3 Reprots.aspx窗体 326
21.3.4 FreqFl.aspx窗体 328
21.4 为业务线路管理员窗体编写代码 330
21.4.1 CreateRes.aspx窗体 330
21.4.2 CancelRes.aspx窗体 335
21.4.3 QueryStat.aspx窗体 336
21.4.4 ConfirmRes.aspx窗体 338
21.5 小结 339
第22章 创建客户事务处理入口 340
22.1 设计窗体 340
22.1.1 View New Flights选项 342
22.1.2 View Ticket Status选项 342
22.1.3 View Flights Status选项 344
22.1.4 Confirm Reservation选项 345
22.2 测试应用程序 348
22.3 小结 350
第23章 调试和测试应用程序 351
23.1 定位程序中的错误 351
23.1.1 Watch窗口 352
23.1.2 Locals窗口 352
23.1.3 Call Stack窗口 352
23.1.4 Autos窗口 353
23.1.5 Command窗口 353
23.2 测试应用程序 354
23.3 小结 359
第24章 管理应用程序 360
24.1 管理数据库 360
24.1.1 备份SkyShark航空公司数据 360
24.1.2 从数据库导出数据 362
24.1.3 检查数据库日志 364
24.1.4 安排数据库维护任务 364
24.2 管理Internet信息服务 366
24.2.1 配置IIS错误页面 366
24.2.2 管理Web服务器日志文件 368
24.3 小结 369
第25章 保护应用程序 370
25.1 ASP.NET应用程序中的安全措施 370
25.1.1 身份验证机制 370
25.1.2 用IIS和ASP.NET保护网站 371
25.2 在SkyShark航空公司中启用身份验证机制 372
25.2.1 配置IIS身份验证机制 372
25.2.2 在ASP.NET中配置身份验证 373
25.2.3 保证SQL Server的安全 375
25.3 小结 377
第26章 部署应用程序 378
26.1 部署情况 378
26.1.1 部署编辑器 379
26.2 部署SkyShark航空公司应用程序 381
26.2.1 创建部署项目 381
26.2.2 为部署项目添加SkySharkDeploy的输出 382
26.2.3 将项目部署到另一台计算机上的Web服务器中 383
26.3 小结 384
第7部分 专业项目5 385
项目5 为书店创建Web入口 385
第27章 项目个案研究和设计 386
27.1 公司概况 386
27.2 项目需求 386
27.2.1 查询关于所有图书的信息 387
27.2.2 根据条件查询有关图书的信息 388
27.2.3 在网站上订购图书 388
27.3 项目设计 388
27.3.1 数据库设计 389
27.3.2 数据库模式 392
27.3.3 Web窗体设计 394
27.3.4 Web窗体模块的流程图 397
27.4 小结 399
第28章 研究ASP.NET Web服务 400
28.1 ASP.NET Web服务概述 400
28.1.1 Web服务体系结构 402
28.1.2 Web服务的工作方式 403
28.2 Web服务中所用的技术 403
28.2.1 Web服务中的XML 404
28.2.2 Web服务中的WSDL 404
28.2.3 Web服务中的SOAP 404
28.2.4 Web服务中的UDDI 405
28.3 .NET Framework中的Web服务 405
28.4 在.NET Framework中创建简单的Web服务 407
28.4.1 为Web服务产生的默认代码 408
28.4.2 在SampleWebService Web服务中创建Web方法 410
28.4.3 测试SampleWebService Web服务 411
28.5 小结 413
第29章 开发Web服务 414
29.1 为Deepthoughts Publications创建Web服务 414
29.1.1 创建SearchAll()Web方法 416
29.1.2 创建SrchISBN()Web方法 418
29.1.3 创建AcceptDetails()Web方法 419
29.1.4 创建GenerateOrder()Web方法 422
29.1.5 测试Web服务 429
29.1.6 保证Web服务的安全 430
29.2 小结 431
第30章 开发Web服务客户 432
30.1 为Bookers Paradise创建Web服务客户应用程序 432
30.1.1 为Bookers Paradise网站创建Web窗体 432
30.1.2 为Web窗体添加代码 441
30.2 小结 464
第8部分 专业项目6 465
项目6 创建移动应用程序 465
第31章 项目个案研究和设计方案 466
31.1 个案研究 466
31.2 项目生命周期 467
31.2.1 需求分析 467
31.2.2 总体设计 467
31.2.3 详细设计 469
31.3 小结 472
第32章 移动应用程序基础 473
32.1 移动应用程序概述 473
32.1.1 Microsoft Mobile Internet Toolkit 474
32.1.2 WAP概述 476
32.1.3 WAP体系结构 476
32.1.4 WML概述 478
32.2 使用Mobile Internet Toolkit创建简单Web应用程序 478
32.2.1 移动Web窗体 479
32.2.2 Mobile TimeRetriever应用程序的设计 481
32.2.3 为移动Web窗体创建界面 489
32.2.4 为MobileTimeRetriever应用程序添加代码 491
32.3 小结 496
第33章 实现业务逻辑 497
33.1 为MobileCallStatus应用程序创建所需窗体 497
33.1.1 Visual Studio.NET为移动应用程序产生的默认代码 498
33.1.2 创建frmLogon窗体 499
33.1.3 创建frmSelectOption窗体 500
33.1.4 创建frmPending窗体 502
33.1.5 创建frmUnattended窗体 503
33.2 为MobileCallStatus应用程序添加业务逻辑 504
33.2.1 为frmLogon窗体中的Submit按钮添加代码 504
33.2.2 为frmSelectOption窗体的Query按钮添加代码 507
33.2.3 为frmPending窗体中的Mark checked as complete按钮添加代码 509
33.2.4 为frmPending窗体内的Back按钮添加代码 512
33.2.5 为frmUnattended窗体中的Accept checked call(s)按钮添加代码 512
33.2.6 为frmUnattended窗体中的Back按钮添加代码 513
33.3 在仿真器中测试MobileCallStatus应用程序 514
33.4 小结 515
第9部分 实验室之外 516
第34章 高级C#概念 516
34.1 COM+ 516
34.1.1 COM 516
34.1.2 Windows DNA 520
34.1.3 MTS 521
34.1.4 COM+ 521
34.1.5 .NET互操作性 524
34.1.6 COM互操作性 525
34.2 消息传输 531
34.2.1 消息队列的优点 531
34.2.2 限制 531
34.2.3 关键的消息术语 532
34.2.4 System.Messaging名字空间 533
34.3 小结 536
第10部分 附录 537
附录A 不安全的代码 537
A.1 指针 537
A.1.1 声明指针 538
A.1.2 代码类型 539
A.1.3 实现指针 539
A.1.4 在受管代码中使用指针 540
A.1.5 处理指针 540
A.1.6 编译不安全代码 542
A.2 小结 543
附录B Visual Basic.NET介绍 544
B.1 Visual Studio.NET的语言概述 544
B.1.1 Visual C#.NET 544
B.1.2 Visual Basic.NET 545
B.1.3 Visual C++.NET 545
B.2 Visual Basic.NET概述 545
B.3 面向对象编程语言的特点 547
B.3.1 抽象 547
B.3.2 封装 548
B.3.3 继承 548
B.3.4 多态 548
B.4 Visual Basic.NET的组件 549
B.4.1 变量 549
B.4.2 常量 552
B.4.3 运算符 553
B.4.4 数组 553
B.4.5 集合 555
B.4.6 过程 556
B.4.7 参数 557
B.4.8 函数 557
B.5 创建简单的Visual C#.NET Windows应用程序 557
B.6 在Visual Basic.NET中创建简单的应用程序 560
B.6.1 为Submit按钮添加代码 562
B.6.2 为Exit按钮添加代码 563
B.7 小结 564
附录C Visual Studio.NET集成开发环境 565
C.1 Visual Studio.NET IDE概述 565
C.1.1 菜单栏 566
C.1.2 工具栏 567
C.1.3 Visual Studio.NET IDE窗口 568
C.1.4 工具箱 572
C.1.5 Task List窗口 573
C.1.6 管理窗口 574
C.2 定制Visual Studio.NET IDE 575
C.2.1 Options对话框 575
C.2.2 Customize对话框 576
C.3 小结 577