资源描述
目录
第Ⅰ部分 C# 语 言
第1章 .NET体系结构.... 3
1.1 C#与.NET的关系...... 3
1.2 公共语言运行库...... 3
1.3 详细介绍中间语言...... 6
1.3.1 面向对象和接口的支持..... 7
1.3.2 相异值类型和引用类型..... 8
1.3.3 强数据类型..... 8
1.3.4 通过异常方法处理错误..... 14
1.3.5 特性的使用..... 14
1.4 程序集...... 14
1.4.1 私有程序集..... 15
1.4.2 共享程序集..... 16
1.4.3 反射..... 16
1.5 .NET Framework类...... 16
1.6 命名空间...... 17
1.7 用C#创建.NET应用程序...... 18
1.7.1 创建ASP.NET应用程序..... 18
1.7.2 创建Windows窗体..... 20
1.7.3 Windows控件..... 20
1.7.4 Windows服务..... 20
1.8 C#在.NET企业体系结构中
的作用...... 20
1.9 小结...... 22
第2章 C#基础.... 23
2.1 引言...... 23
2.2 第一个C#程序...... 23
2.2.1 代码..... 24
2.2.2 编译并运行程序..... 24
2.2.3 详细介绍..... 25
2.3 变量........ 27
2.3.1 变量的初始化..... 27
2.3.2 变量的作用域..... 28
2.3.3 常量..... 31
2.4 预定义数据类型...... 32
2.4.1 值类型和引用类型..... 32
2.4.2 CTS类型..... 33
2.4.3 预定义的值类型..... 33
2.4.4 预定义的引用类型..... 36
2.5 流控制...... 39
2.5.1 条件语句..... 39
2.5.2 循环..... 43
2.5.3 跳转语句..... 46
2.6 枚举...... 47
2.7 数组...... 49
2.8 命名空间...... 50
2.8.1 using语句..... 51
2.8.2 命名空间的别名..... 52
2.9 Main()方法...... 53
2.9.1 多个Main()方法..... 53
2.9.2 给Main()方法传送参数..... 54
2.10 有关编译C#文件的更多内容...... 55
2.11 控制台I/O.... 56
2.12 使用注释...... 58
2.12.1 源文件中的内部注释..... 58
2.12.2 XML文档说明..... 59
2.13 C#预处理器指令...... 61
2.13.1 #define和 #undef. 61
2.13.2 #if, #elif, #else和#endif. 62
2.13.3 #warning和# error. 63
2.13.4 #region和#endregion.. 63
2.13.5 #line.. 64
2.13.6 #pragma.. 64
2.14 C#编程规则...... 64
2.14.1 用于标识符的规则..... 64
2.14.2 用法约定..... 65
2.15 小结...... 71
第3章 对象和类型.... 72
3.1 类和结构...... 72
3.2 类成员...... 73
3.2.1 数据成员..... 73
3.2.2 函数成员..... 74
3.2.3 只读字段..... 88
3.3 结构...... 89
3.3.1 结构是值类型..... 90
3.3.2 结构和继承..... 91
3.3.3 结构的构造函数..... 91
3.4 部分类...... 92
3.5 静态类...... 94
3.6 Object类...... 94
3.6.1 System.Object方法..... 94
3.6.2 ToString()方法..... 95
3.7 小结...... 97
第4章 继承.... 98
4.1 继承的类型...... 98
4.1.1 实现继承和接口继承..... 98
4.1.2 多重继承..... 99
4.1.3 结构和类..... 99
4.2 实现继承...... 99
4.2.1 虚方法..... 100
4.2.2 隐藏方法..... 101
4.2.3 调用函数的基类版本..... 102
4.2.4 抽象类和抽象函数..... 103
4.2.5 密封类和密封方法..... 103
4.2.6 派生类的构造函数..... 104
4.3 修饰符...... 109
4.3.1 可见性修饰符..... 109
4.3.2 其他修饰符..... 110
4.4 接口...... 111
4.4.1 定义和实现接口..... 112
4.4.2 派生的接口..... 116
4.5 小结...... 118
第5章 运算符和类型强制转换.... 119
5.1 运算符...... 119
5.1.1 运算符的简化操作..... 120
5.1.2 三元运算符..... 121
5.1.3 checked和unchecked运算符..... 122
5.1.4 is运算符..... 123
5.1.5 as运算符..... 123
5.1.6 sizeof运算符..... 123
5.1.7 typeof运算符..... 124
5.1.8 可空类型和运算符..... 124
5.1.9 空接合运算符..... 124
5.1.10 运算符的优先级..... 125
5.2 类型的安全性...... 125
5.2.1 类型转换..... 126
5.2.2 装箱和拆箱..... 130
5.3 对象的相等比较...... 130
5.3.1 引用类型的相等比较..... 131
5.3.2 值类型的相等比较..... 132
5.4 运算符重载...... 132
5.4.1 运算符的工作方式..... 133
5.4.2 运算符重载的示例:
Vector结构..... 134
5.5 用户定义的数据类型转换...... 141
5.5.1 执行用户定义的类型转换..... 142
5.5.2 多重数据类型转换..... 149
5.6 小结...... 152
第6章 委托和事件.... 153
6.1 委托...... 153
6.1.1 在C#中声明委托..... 154
6.1.2 在C#中使用委托..... 155
6.2 匿名方法...... 158
6.2.1 简单的委托示例..... 159
6.2.2 BubbleSorter示例..... 161
6.2.3 多播委托..... 164
6.3 事件...... 166
6.3.1 从客户的角度讨论事件..... 167
6.3.2 生成事件..... 169
6.4 小结...... 173
第7章 内存管理和指针.... 174
7.1 后台内存管理...... 174
7.1.1 值数据类型..... 174
7.1.2 引用数据类型..... 176
7.1.3 垃圾收集..... 178
7.2 释放未托管的资源...... 179
7.2.1 析构函数..... 179
7.2.2 IDisposable接口..... 180
7.2.3 实现IDisposable接口和
析构函数..... 182
7.3 不安全的代码...... 183
7.3.1 指针..... 183
7.3.2 指针示例PointerPlayaround.. 193
7.3.3 使用指针优化性能..... 197
7.4 小结...... 201
第8章 字符串和正则表达式.... 202
8.1 System.String类...... 202
8.1.1 创建字符串..... 203
8.1.2 StringBuilder成员..... 206
8.1.3 格式化字符串..... 207
8.2 正则表达式...... 213
8.2.1 正则表达式概述..... 213
8.2.2 RegularExpressionsPlayaround
示例..... 214
8.2.3 显示结果..... 216
8.2.4 匹配、组合和捕获..... 218
8.3 小结...... 220
第9章 集合.... 221
9.1 对象组...... 221
9.1.1 集合..... 222
9.1.2 数组列表..... 225
9.1.3 Stack类..... 229
9.1.4 Queue类..... 231
9.1.5 SortedList类..... 232
9.1.6 字典和散列表..... 234
9.1.7 泛型..... 243
9.2 小结...... 244
第10章 泛型.... 245
10.1 概述...... 245
10.1.1 性能..... 245
10.1.2 类型安全..... 246
10.1.3 二进制代码的重用..... 247
10.1.4 代码的扩展..... 247
10.1.5 命名约定..... 248
10.2 泛型集合类...... 248
10.2.1 泛型集合概述..... 248
10.2.2 使用List<T>类..... 251
10.2.3 使用Queue<T>类..... 256
10.2.4 使用LinkedList<T>类..... 260
10.3 创建定制的泛型类...... 265
10.3.1 默认值..... 267
10.3.2 约束..... 267
10.4 泛型方法...... 270
10.5 泛型委托...... 272
10.6 Framework的其他泛型类型...... 274
10.6.1 结构Nullable<T>... 274
10.6.2 EventHandler
<TEventArgs>... 276
10.6.3 ArraySegment<T>... 276
10.7 小结...... 277
第11章 反射.... 278
11.1 定制特性...... 278
11.1.1 编写定制特性..... 279
11.1.2 定制特性示例:
WhatsNewAttributes.. 282
11.2 反射...... 286
11.2.1 System.Type类..... 286
11.2.2 TypeView示例..... 288
11.2.3 Assembly类..... 291
11.2.4 完成WhatsNewAttributes
示例..... 292
11.3 小结...... 296
第12章 错误和异常.... 297
12.1 错误和异常处理...... 297
12.1.1 异常类..... 297
12.1.2 捕获异常..... 299
12.1.3 用户定义的异常类..... 308
12.2 小结...... 316
第13章 线程.... 317
13.1 线程...... 317
13.2 多线程应用程序...... 318
13.3 线程的处理...... 319
13.3.1 ThreadPlayaround示例..... 322
13.3.2 线程的优先级..... 325
13.3.3 同步..... 326
13.4 使用ThreadPool创建线程...... 330
13.5 小结...... 334
第Ⅱ部分 .NET 环 境
第14章 Visual Studio 2005.. 337
14.1 使用Visual Studio 2005... 337
14.1.1 创建项目..... 341
14.1.2 解决方案和项目..... 347
14.1.3 Windows应用程序代码..... 349
14.1.4 读取Visual Studio 6项目..... 350
14.1.5 项目的浏览和编码..... 350
14.1.6 生成项目..... 360
14.1.7 调试..... 363
14.2 修订功能...... 366
14.3 小结...... 368
第15章 程序集.... 369
15.1 程序集的含义...... 369
15.1.1 DLL Hell的解决方案..... 370
15.1.2 程序集的特性..... 370
15.1.3 应用程序域和程序集..... 371
15.2 程序集的结构...... 374
15.2.1 程序集的清单..... 374
15.2.2 命名空间、程序集和组件..... 375
15.2.3 私有程序集和共享程序集..... 375
15.2.4 查看程序集..... 375
15.2.5 构建程序集..... 376
15.3 跨语言支持...... 380
15.3.1 CTS和CLS.. 380
15.3.2 语言无关性..... 381
15.3.3 CLS要求..... 389
15.4 全局程序集缓存...... 391
15.4.1 本机图像生成器..... 391
15.4.2 全局程序集缓存查看器..... 392
15.4.3 全局程序集缓存工具
(gacutil.exe). 393
15.5 创建共享程序集...... 393
15.5.1 共享程序集名..... 393
15.5.2 创建共享程序集..... 395
15.6 配置...... 400
15.6.1 配置类别..... 400
15.6.2 版本问题..... 401
15.6.3 配置目录..... 409
15.7 小结...... 411
第16章 .NET的安全性.... 412
16.1 代码访问的安全性...... 412
16.1.1 代码组..... 413
16.1.2 代码访问权限和权限集..... 419
16.1.3 策略的级别:Machine、
User和Enterprise.. 423
16.2 对Framework中安全性的
支持...... 425
16.2.1 要求权限..... 426
16.2.2 请求权限..... 427
16.2.3 隐式的权限..... 430
16.2.4 拒绝权限..... 431
16.2.5 断言权限..... 432
16.2.6 创建代码访问权限..... 433
16.2.7 声明的安全性..... 434
16.3 安全策略的管理...... 435
16.3.1 安全配置文件..... 435
16.3.2 代码组和权限的管理..... 438
16.3.3 安全性的启用和禁用..... 438
16.3.4 重置安全策略..... 439
16.3.5 代码组的创建..... 439
16.3.6 代码组的删除..... 440
16.3.7 代码组权限的更改..... 440
16.3.8 权限集的创建和应用..... 441
16.3.9 使用强名发布代码..... 443
16.3.10 使用证书发布代码..... 445
16.3.11 区域的管理..... 449
16.4 基于角色的安全性...... 451
16.4.1 Principal. 451
16.4.2 Windows Principal. 452
16.4.3 角色..... 454
16.4.4 声明基于角色的安全性..... 454
16.5 小结...... 455
第17章 本地化.... 456
17.1 System.Globalization
命名空间...... 456
17.1.1 Unicode问题..... 456
17.1.2 文化和区域..... 457
17.1.3 使用文化..... 461
17.1.4 排序..... 466
17.2 资源...... 467
17.2.1 创建资源文件..... 468
17.2.2 资源文件生成器..... 468
17.2.3 ResourceWriter. 468
17.2.4 使用资源文件..... 469
17.2.5 System.Resources
命名空间..... 474
17.3 使用Visual Studio的本地化
示例...... 475
17.3.1 编程修改文化..... 480
17.3.2 使用定制资源文件..... 481
17.3.3 资源的自动回退..... 482
17.3.4 外包翻译..... 482
17.4 用ASP.NET本地化...... 483
17.5 定制的资源读取器...... 485
17.5.1 创建DatabaseResource
Reader类..... 485
17.5.2 创建DatabaseResource
Set类..... 487
17.5.3 创建DatabaseResource
Manager类..... 487
17.5.4 DatabaseResourceReader的
客户应用程序..... 488
17.6 创建定制文化...... 489
17.7 小结...... 489
第18章 部署.... 490
18.1 部署的设计...... 490
18.2 部署选项...... 490
18.2.1 Xcopy实用工具..... 491
18.2.2 Copy Web工具..... 491
18.2.3 发布Web站点..... 491
18.2.4 部署项目..... 491
18.2.5 ClickOnce.. 491
18.3 部署的要求...... 491
18.4 简单的部署...... 492
18.4.1 Xcopy部署..... 493
18.4.2 Xcopy和Web应用程序..... 493
18.4.3 Copy Web工具..... 493
18.4.4 发布Web站点..... 494
18.5 Installer项目...... 494
18.5.1 Windows Installer. 495
18.5.2 创建安装程序..... 495
18.6 ClickOnce.. 504
18.6.1 ClickOnce操作..... 504
18.6.2 发布应用程序..... 504
18.6.3 ClickOnce设置..... 505
18.6.4 应用程序缓存..... 505
18.6.5 安全性..... 506
18.6.6 高级选项..... 506
18.7 小结...... 511
第Ⅲ部分 数 据
第19章 .NET数据访问.... 515
19.1 ADO.NET概述...... 515
19.1.1 命名空间..... 516
19.1.2 共享类..... 516
19.1.3 数据库特定的类..... 516
19.2 使用数据库连接...... 517
19.2.1 管理连接字符串..... 518
19.2.2 高效地使用连接..... 520
19.2.3 事务处理..... 522
19.3 命令...... 524
19.3.1 执行命令..... 525
19.3.2 调用存储过程..... 528
19.4 快速数据访问:数据读取器...... 531
19.5 管理数据和关系:DataSet类...... 534
19.5.1 数据表..... 535
19.5.2 数据列..... 536
19.5.3 数据关系..... 541
19.5.4 数据约束..... 542
19.6 XML模式...... 544
19.7 填充数据集...... 552
19.7.1 用数据适配器来填充
DataSet. 552
19.7.2 从XML中给数据集填充
数据..... 553
19.8 保存对数据集的修改...... 553
19.8.1 通过数据适配器进行更新..... 554
19.8.2 写入XML输出结果..... 556
19.9 使用ADO.NET.... 558
19.9.1 分层开发..... 558
19.9.2 生成SQL Server的键..... 559
19.9.3 命名约定..... 561
19.10 小结...... 562
第20章 .NET编程和
SQL Server 2005.. 564
20.1 .NET运行库的主机...... 564
20.2 Microsoft.SqlServer.Server.. 565
20.3 用户定义的类型...... 566
20.3.1 创建UDT... 566
20.3.2 使用UDT... 572
20.3.3 在客户端代码中使用UDT... 573
20.4 用户定义的合计函数...... 574
20.4.1 创建用户定义的合计函数..... 574
20.4.2 使用用户定义的合计函数..... 575
20.5 存储过程...... 576
20.5.1 创建存储过程..... 576
20.5.2 使用存储过程..... 577
20.6 用户定义的函数...... 578
20.6.1 创建用户定义的函数..... 578
20.6.2 使用用户定义的函数..... 579
20.7 触发器...... 579
20.7.1 创建触发器..... 580
20.7.2 使用触发器..... 581
20.8 XML数据类型...... 581
20.8.1 包含XML数据的表..... 582
20.8.2 数据的查询..... 584
20.8.3 XML数据修改语言
(XML DML). 585
20.8.4 XML索引..... 586
20.8.5 强类型化的XML... 587
20.9 小结...... 588
第21章 处理XML.. 589
21.1 .NET支持的XML标准...... 589
21.2 System.Xml命名空间...... 590
21.3 在.NET中使用MSXML... 591
21.4 使用System.Xml类...... 593
21.5 读写流格式的XML... 593
21.5.1 使用 XmlReader类..... 594
21.5.2 使用XmlReader类进行
验证..... 597
21.5.3 使用XmlWriter类..... 599
21.6 在.NET中使用DOM..... 601
21.7 使用XPathNavigator.. 607
21.7.1 System.Xml.Xpath
命名空间..... 607
21.7.2 System.Xml.Xsl命名空间..... 61
21.8 XML和ADO.NET.... 617
21.8.1 将ADO.NET数据转换为
XML文档..... 617
21.8.2 把XML文档转换为
ADO.NET数据..... 624
21.8.3 读写DiffGram.... 626
21.9 在XML中串行化对象...... 629
21.10 小结...... 639
第22章 使用Active Directory. 640
22.1 Active Directory的体系结构...... 640
22.1.1 特性..... 641
22.1.2 Active Directory的概念..... 641
22.1.3 Active Directory数据的
特性..... 645
22.1.4 模式... 645
22.2 Active Directory的管理工具...... 646
22.2.1 Active Directory Users and
Computers工具..... 646
22.2.2 ADSI Edit工具..... 647
22.3 Active Directory编程...... 648
22.3.1 System.DirectoryServices命名
空间中的类..... 649
22.3.2 绑定..... 650
22.3.3 获取目录项..... 654
22.3.4 对象集合..... 655
22.3.5 缓存..... 656
22.3.6 创建新对象..... 657
22.3.7 更新目录项..... 658
22.3.8 访问内部的ADSI对象..... 658
22.3.9 在Active Directory中搜索..... 660
22.4 搜索用户对象...... 663
22.4.1 用户界面..... 663
22.4.2 获取模式命名环境..... 664
22.4.3 获取User类的属性名..... 665
22.4.4 搜索用户对象..... 666
22.5 DSML... 668
22.5.1 命名空间
System.DirectoryServices.
Protocols中的类..... 668
22.5.2 用DSML搜索Active
Directory对象..... 669
22.6 小结...... 671
第Ⅳ部分 Windows应用程序
第23章 Windows窗体.... 675
23.1 创建Windows窗体应用程序...... 675
23.2 Control类...... 681
23.2.1 大小和位置..... 682
23.2.2 外观..... 683
23.2.3 用户交互操作..... 683
23.2.4 Windows功能..... 684
23.2.5 杂项功能..... 685
23.3 标准控件和组件...... 685
23.3.1 Button控件..... 686
23.3.2 CheckBox控件..... 686
23.3.3 RadioButton控件..... 687
23.3.4 ComboBox控件、ListBox
控件和CheckedListBox控件.... 687
23.3.5 DateTimePicker控件..... 690
23.3.6 ErrorProvider组件..... 690
23.3.7 HelpProvider组件..... 691
23.3.8 ImageList组件..... 692
23.3.9 Label控件..... 692
23.3.10 ListView控件..... 692
23.3.11 PictureBox控件..... 694
23.3.12 ProgressBar控件..... 695
23.3.13 TextBox控件、RichTextBox
控件与MaskedTextBox
控件..... 695
23.3.14 Panel控件..... 696
23.3.15 FlowLayoutPanel和
TableLayoutPanel控件..... 696
23.3.16 SplitContainer控件..... 697
23.3.17 TabControl控件和TabPages
控件..... 698
23.3.18 ToolStrip控件..... 698
23.3.19 MenuStrip控件..... 701
23.3.20 ContextMenuStrip控件..... 701
23.3.21 ToolStripMenuItem控件..... 701
23.3.22 ToolStripManager类..... 702
23.3.23 ToolStripContainer控件..... 702
23.4 窗体...... 702
23.4.1 Form类..... 703
23.4.2 多文档界面..... 708
23.4.3 定制控件..... 708
23.5 小结...... 721
第24章 查看.NET数据.... 722
24.1 DataGridView控件...... 722
24.1.1 显示列表数据..... 722
24.1.2 数据源..... 724
24.2 DataGridView类的层次结构...... 732
24.3 数据绑定...... 735
24.3.1 简单的绑定..... 735
24.3.2 数据绑定对象..... 735
24.4 Visual Studio.NET和
数据访问...... 739
24.4.1 创建一个连接..... 740
24.4.2 选择数据..... 742
24.4.3 更新数据源..... 743
24.4.4 构建模式..... 743
24.4.5 其他常见的要求..... 749
24.5 小结...... 757
第25章 使用GDI+绘图.... 758
25.1 理解绘图规则...... 758
25.1.1 GDI和GDI+... 758
25.1.2 绘制图形..... 760
25.1.3 使用OnPaint()绘制图形..... 763
25.1.4 使用剪切区域..... 764
25.2 测量坐标和区域...... 766
25.2.1 Point和PointF结构..... 766
25.2.2 Size和SizeF结构..... 767
25.2.3 Rectangle和RectangleF
结构..... 769
25.2.4 Region.. 770
25.3 调试须知...... 770
25.4 绘制可滚动的窗口...... 771
25.5 世界、页面和设备坐标...... 776
25.6 颜色...... 777
25.6.1 红绿蓝(RGB)值..... 777
25.6.2 命名的颜色..... 777
25.6.3 图形显示模式和安全的
调色板..... 778
25.6.4 安全调色板..... 779
25.7 画笔和钢笔...... 779
25.7.1 画笔..... 779
25.7.2 钢笔..... 780
25.8 绘制图形和线条...... 781
25.9 显示图像...... 783
25.10 处理图像时所涉及到的问题...... 785
25.11 绘制文本...... 786
25.12 简单的文本示例...... 787
25.13 字体和字体系列...... 788
25.14 示例:枚举字体系列...... 790
25.15 编辑文本文档:CapsEditor
示例...... 792
25.15.1 Invalidate()方法..... 796
25.15.2 计算项和文档的大小..... 797
25.15.3 OnPaint(). 799
25.15.4 坐标转换..... 800
25.15.5 响应用户的输入..... 802
25.16 打印...... 805
25.17 小结...... 810
第Ⅴ部分 Web应用程序
第26章 ASP.NET页面.... 813
26.1 ASP.NET概述...... 813
26.2 ASP.NET Web窗体...... 814
26.2.1 ASP.NET代码模型..... 818
26.2.2 ASP.NET服务器控件..... 818
26.3 ADO.NET和数据绑定...... 833
26.3.1 更新会议登记应用程序..... 833
26.3.2 数据绑定的更多内容..... 840
26.4 应用程序配置...... 845
26.5 小结...... 847
第27章 ASP.NET开发.... 848
27.1 定制控件...... 848
27.1.1 用户控件..... 849
27.1.2 PCSDemoSite中的用户
控件..... 855
27.1.3 定制控件..... 856
27.2 Master页面...... 860
27.3 站点导航...... 864
27.4 安全性...... 867
27.4.1 使用安全向导添加Forms
身份验证功能..... 867
27.4.2 实现登录系统..... 870
27.4.3 Web 登录服务器控件..... 871
27.4.4 保护目录..... 872
27.4.5 PCSDemoSite中的安全性..... 872
27.5 主题...... 874
27.5.1 把主题应用于页面..... 875
27.5.2 定义主题..... 876
27.5.3 PCSDemoSite中的主题..... 876
27.6 小结...... 879
第Ⅵ部分 通 信
第28章 Web服务.... 883
28.1 SOAP... 883
28.2 WSDL... 885
28.3 Web服务...... 886
28.3.1 创建Web服务..... 886
28.3.2 使用Web服务..... 890
28.4 扩充会
展开阅读全文