《C#高级编程》PDF下载

  • 购买积分:26 如何计算积分?
  • 作  者:Simon Robinson,K.Scott Allen等著;杨浩,杨铁男等译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2002
  • ISBN:7302056846
  • 页数:1030 页
图书介绍:

第1章 NET结构 1

1.1 C#与.NET的关系 1

1.2 公共语言运行时 1

1.3 中间语言 4

1.3.1 面向对象的支持和接口 5

1.3.2 值类型和引用类型 6

1.3.3 强数据类型 6

1.3.4 通过异常处理错误 12

1.3.5 属性(attribute)的使用 12

1.4 程序集(Assemblies) 13

1.4.1 私有程序集 13

1.4.2 共享程序集 14

1.4.3 反射 14

1.5 .NET Framework类 14

1.6.1 创建ASP.NET应用程序 16

1.6 用C#创建.NET应用程序 16

1.6.2 创建Windows窗体 18

1.6.3 Windows服务 18

1.7 C#在.NET企业体系结构中的作用 19

1.8 小结 20

第2章 C#基础 22

2.1 引言 22

2.2 第一个C#程序 23

2.3.1 变量的初始化 26

2.3 变量 26

2.3.2 变量的作用域 27

2.3.3 常量 30

2.4 预定义数据类型 31

2.4.1 值类型和引用类型 31

2.4.2 CTS类型 32

2.4.3 预定义的值类型 32

2.4.4 预定义的引用类型 36

2.5.1 条件语句 38

2.5 流控制 38

2.5.2 循环 42

2.5.3 跳转语句 46

2.6 程序的结构 46

2.6.1 类 47

2.6.2 结构 49

2.7 方法 49

2.7.2 调用方法 50

2.7.1 方法的声明 50

2.7.3 给方法传递参数 52

2.8 数组 55

2.9 运算符 59

2.9.1 运算符的简化操作 61

2.9.2 三元运算符 62

2.9.3 checked和unchecked运算符 62

2.9.4 is运算符 63

2.9.7 运算符的优先级 64

2.9.5 sizeof运算符 64

2.9.6 typeof运算府 64

2.10 类型的安全 65

2.10.1 类型转换 65

2.10.2 装箱(Boxing)和取消装箱(Unboxing) 68

2.11 枚举 69

2.12 命名空间 71

2.12.1 using语句 72

2.12.2 命名空间的别名 73

2.13 Main()方法 74

2.13.1 多个Main()方法 74

2.13.2 给Main()方法传送参数 75

2.14 编译C#文件的更多内容 76

2.15 控制台的I/O 78

2.16 使用注释 80

2.17 标识符和关键字 83

2.18 小结 85

3.1 类和继承 86

第3章 面向对象的C#语言 86

3.1.1 单一继承 87

3.1.2 方法的重载 87

3.1.3 方法的重写和隐藏 88

3.1.4 调用函数的基类版本 90

3.1.5 抽象类和抽象函数 90

3.1.6 密封类和密封方法 91

3.1.7 访问修饰符 92

3.2 属性(property) 93

3.2.1 只读和只写属性 94

3.2.2 访问修饰符 94

3.2.3 虚拟抽象属性 95

3.3 内联 95

3.4 Object类 95

3.5 接口 98

3.5.1 定义和执行接口 99

3.5.2 接口的继承 103

3.6 构造和删除 105

3.6.1 构造函数 105

3.6.2 清理:析构函数和Dispose() 115

3.6.3 使用IDisposable接口 118

3.6.4 执行析构函数Dispose() 119

3.7 只读(readonly)字段 121

3.8 结构 122

3.8.1 结构是值类型 123

3.8.2 结构和继承 124

3.8.3 结构的构造函数 124

3.9 运算符重载 125

3.10 索引器 134

3.10.1 给矢量添加索引器 134

3.10.2 其他索引器的样例 138

3.11 小结 138

4.1 错误和异常处理 139

4.1.1 异常类 139

第4章 C#的高级论题 139

4.1.2 捕获异常 141

4.1.3 用户定义的异常类 150

4.2 用户定义的数据类型转换 158

4.2.1 执行用户定义的类型转换 159

4.2.2 多重数据类型转换 165

4.3 委托 169

4.3.1 在C#中使用委托 170

4.3.2 简单的委托样例 173

4.3.3 BubbleSorter样例 175

4.3.4 多路广播委托 178

4.4 事件 180

4.4.1 客户程序角度的事件 181

4.4.2 事件样例:控制台通知 183

4.5 C#预处理程序指令 189

4.5.1 #define和#undef 189

4.5.2 #if,#elif,#else和#endif 190

4.5.5 #line 191

4.5.3 #warning和#error 191

4.5.4 #region和#endregion 191

4.6 属性 192

4.7 后台内存管理 195

4.7.1 值数据类型 195

4.7.2 引用数据类型 197

4.8 不安全的代码 200

4.8.1 指针 201

4.8.2 使用指针优化性能 215

4.9 小结 219

第5章 C#和基类 220

5.1 System.Object 220

5.1.1 对引用对象进行等于比较 222

5.1.2 对值类型进行等于比较 223

5.2 处理字符串 224

5.2.1 System.String 224

5.2.2 建立字符串 225

5.2.3 格式化字符串 229

5.3 正则表达式 235

5.3.1 正则表达式简介 235

5.3.2 RegularExpressionsPlayaround样例 236

5.3.3 显示结果 238

5.3.4 匹配、组和捕获 240

5.4 对象组 242

5.4.1 数组列表 242

5.4.2 集合 244

5.4.3 字典 247

5.5 定制属性 257

5.5.1 编写定制属性 258

5.5.2 WhatsNewAttributes样例 261

5.6 反射 265

5.6.1 System.Type类 265

5.6.2 TypeView样例 268

5.6.3 Assembly类 269

5.6.4 完成WhatsNewAttributes样例 271

5.7 线程 275

5.7.1 多线程的应用程序 276

5.7.2 线程的处理 276

5.7.3 ThreadPlayaround样例 279

5.7.4 线程的优先级 282

5.7.5 同步 283

5.8 小结 288

第6章 在.NET环境中编程 289

6.1 Visual Studio.NET 289

6.1.1 创建项目 291

6.1.2 解决方案和项目 296

6.1.3 Windows应用程序代码 299

6.1.4 读取Visual Studio6项目 299

6.1.5 项目的浏览和编写 300

6.1.6 生成(Building)项目 309

6.1.7 调试 313

6.2 其他.NET工具 315

6.3 .NET用法规则 316

6.3.1 命名约定 317

6.3.2 属性和方法的使用 320

6.3.3 字段的用法 321

6.4 小结 321

第7章 Windows应用程序 322

7.1 .NET中的Windows应用程序 322

7.2.1 未使用Visual Studio .NET的Windows Forms 324

7.2 Windows Forms 324

7.2.2 使用Visual Studio .NET的Windows Forms 328

7.2.3 菜单 334

7.2.4 对话框 339

7.2.5 可视化继承 347

7.3 Windows控件 351

7.4 定制控件 356

7.5 小结 369

8.1 程序集的含义 371

第8章 程序集 371

8.1.1 DLL-Hell的解决方案 372

8.1.2 程序集的特性 372

8.1.3 应用程序域和程序集 373

8.2 程序集的结构 376

8.2.1 程序集的清单 376

8.2.2 命名空间、程序集和组件 377

8.2.3 私有程序集和共享程序集 377

8.2.4 查看程序集 378

8.2.5 建立程序集 378

8.3 跨语言支持 383

8.3.1 CTS和CLS 383

8.3.2 语言无关性 384

8.3.3 CLS要求 392

8.4 给程序集添加资源 394

8.4.1 创建资源文件 394

8.4.2 使用资源文件 396

8.4.3 国际化和资源 398

8.4.4 使用Visual Studio.NET的本地化样例 403

8.5 全局程序集高速缓存 413

8.5.1 本机图像生成器 414

8.5.2 全局程序集高速缓存查看器 414

8.6 创建共享程序集 416

8.6.1 共享程序集名 416

8.6.2 创建一个共享程序集 418

8.7.1 配置类别 422

8.7 配置 422

8.7.2 版本问题 423

8.7.3 配置目录 430

8.8 部署 433

8.8.1 DLL的部署 433

8.8.2 创建Merge Module 433

8.9 小结 434

第9章 .NET数据访问 436

9.1 ADO.NET概述 436

9.1.3 数据库特定的类 437

9.1.1 命名空间 437

9.1.2 共享类 437

9.2 使用数据库连接 438

9.2.1 高效地使用连接 439

9.2.2 事务处理 441

9.3 命令 443

9.3.1 执行命令 444

9.3.2 调用存储过程 447

9.4 快速数据访问:数据读取器 450

9.5 管理数据和关系:数据集 453

9.5.1 数据表 454

9.5.2 数据的关系 460

9.5.3 数据的约束 461

9.6 XML模式 464

9.7 填充数据集 470

9.7.1 用数据适配器来填充DataSet 471

9.8 保存对数据集的修改 472

9.7.2 给XML中的数据集填充数据 472

9.8.1 通过数据适配器进行更新 473

9.8.2 编写XML输出结果 475

9.9 使用ADO.NET 477

9.9.1 分层开发 477

9.9.2 SQL Server键的生成 478

9.9.3 命名约定 480

9.9.4 性能 482

9.10 小结 483

10.1.1 显示列表数据 484

第10章 查看.NET数据 484

10.1 DataGrid控件 484

10.1.2 数据源 487

10.1.3 DataGrid类的层次结构 493

10.2 数据绑定 497

10.2.1 简章的绑定 497

10.2.2 数据绑定对象 498

10.3.1 创建一个连接 503

10.3 Visual Studio和数据访问 503

10.3.2 选择数据 505

10.3.3 生成一个DataSet 507

10.3.4 更新数据源 508

10.3.5 构建模式 510

10.3.6 其他常见的要求 515

10.4 小结 523

第11章 处理XML 524

11.1 .NET支持的XML标准 524

11.2 System.Xml命名空间 525

11.3 在.NET中使用MSXML 526

11.4 使用System.Xml类 529

11.5 读写流格式的XML 529

11.5.1 使用XmlTextReader类 530

11.5.2 使用XmlValidatingReader类 534

11.5.3 使用XmlTextWriter类 537

11.6 在.NET中使用DOM 539

11.7 在NET中使用XPath和XSLT 545

11.7.1 System.XPath命名空间 545

11.7.2 Sysrem.Xml.Xsl命名空间 549

11.8 XML和ADO.NET 554

11.8.1 将ADO.NET数据转换为XML文档 555

11.8.2 把XML文档转换为ADO.NET数据 563

11.8.3 读写DiffGram 566

11.9 在XML中对对象进行串行化 569

11.10 小结 580

第12章 文件和注册表操作 581

12.1 管理文件系统 581

12.1.1 表示文件和文件夹的.NET类 582

12.1.2 Path类 585

12.1.3 样例:文件浏览器 585

12.2 移动、复制和删除文件 590

12.3.1 流 595

12.3 读写文件 595

12.3.2 读写二进制文件 596

12.3.3 读写文本文件 601

12.4 读写注册表 608

12.4.1 注册表 608

12.4.2 .NET注册表类 610

12.4.3 样例:SelfPlacingWindow 612

12.5 小结 618

13.1 Active Directory的结构 619

第13章 使用Active Directory 619

13.1.1 特性 620

13.1.2 Active Directory 620

13.1.3 Active Directory数据的特性 624

13.1.4 模式 624

13.2 Active Directory的管理 625

13.2.1 Active Directory Users and Computers工具 626

13.2.2 ADSI Edit工具 627

13.2.3 ADSI Viewer工具 628

13.3 Active Directory Service Interfaces(ADSI) 629

13.4 Active Directory编程 629

13.4.1 System.Directory Services命名空间中的类 629

13.4.2 绑定 630

13.4.3 获取目录项 634

13.4.4 对象集合 636

13.4.5 缓存 637

13.4.6 创建新对象 637

13.4.7 更新目录项 638

13.4.8 访问内部的ADSI对象 639

13.4.9 在Active Directory中搜索 640

13.5 搜索用户对象 644

13.5.1 用户界面 644

13.5.2 获取模式命名环境 644

13.5.3 获取User类的属性名 646

13.5.4 搜索用户对象 647

13.6 小结 649

14.1 ASP.NET简介 650

第14章 ASP.NET页面 650

14.2 ASP.NET Web Form 651

14.3 ASP.NET和数据绑定 668

14.3.1 更新会议登记应用程序 668

14.3.2 数据绑定的更多内容 677

14.4.应用程序配置 682

14.5 小结 683

15.1 SOAP 684

第15章 Web服务 684

15.2 WSDL 686

15.3 Web服务 687

15.3.1 创建Web服务 688

15.3.2 使用Web服务 691

15.4 扩充Meeting Room Booker样例 693

15.4.1 Meeting Room Booker Web服务 693

15.4.2 Meeting Room Booker客户 696

15.5 使用SOAP标题交换数据 699

15.6 小结 703

第16章 用户控件和定制控件 705

16.1 用户控件 705

16.2 定制控件 712

16.2.1 定制控件的项目配置 713

16.2.2 基本的定制控件 716

16.2.3 创建合成的定制控件 721

16.3 测验民意的投票控件 723

16.3.1 Candidate控件 725

16.3.2 StrawPoll控件构建器 727

16.3.3 测试民意的投票类型 728

16.3.4 测试民意的投票控件 728

16.4 小结 735

第17章 COM的互操作性 736

17.1 COM概述 736

17.2.1 COM组件的绑定 737

17.2 在.NET中使用COM组件 737

17.2.2 Runtime Callable Wrappers 738

17.2.3 使用C++COM组件 740

17.2.4 用Recordset填写DataSet 743

17.2.5 COM组件的后期绑定 745

17.2.6 释放COM对象 746

17.2.7 在.NET中使用ActiveX控件 746

17.3.1 COM可调用的包装器 748

17.3 在COM中使用.NET组件 748

17.3.2 C#阶乘组件 749

17.3.3 .NET组件的早期绑定 751

17.4 平台调用服务 752

17.5 小结 754

第18章 COM+服务 755

18.1 COM+服务的展望 755

18.2 COM+服务包括的内容 756

18.2.1 事务 757

18.2.2 Just In Time Activation(JIT) 758

18.2.3 安全 759

18.2.4 事件 759

18.2.5 对象池 760

18.2.6 消息队列 760

18.2.7 Component Load Balancing服务 761

18.3 与.NET程序集一起使用COM+服务 761

18.3.1 与.NET程序集一起使用事务处理 763

18.3.2 与.NET程序集一起使用对象池 769

18.3.3 与.NET程序集一起使用JIT激活服务 771

18.4 小结 772

第19章 使用GDI+绘图 773

19.1 理解绘图规则 773

19.1.1 GDI和GID+ 773

19.1.2 绘制图形 775

19.1.3 使用OnPaint绘制图形 778

19.1.4 使用剪切区域 779

19.2.1 Point和PointF 781

19.2 测量坐标和区域 781

19.2.2 Size和SizeF 782

19.2.3 Rectangle和RectangleF 784

19.2.4 Region 785

19.3 调试的一个注意事项 785

19.4 绘制可滚动的窗口 786

19.5 颜色 792

19.5.1 红绿蓝(RGB)值 792

19.5.2 命名的颜色 793

19.5.3 图形显示模式和安全的调色板 793

19.5.4 安全调色板 794

19.6 画笔和钢笔 794

19.6.1 画笔 795

19.6.2 钢笔 795

19.7 绘制图形和线条 796

19.8 显示图像 798

19.9 绘制文本 801

19.10 字体和字体系列 803

19.11 样例:枚举字体系列 805

19.12 编辑文本文档:CapsEditor样例 807

19.12.1 Invalidate()方法 811

19.12.2 计算项目和文档的大小 812

19.12.3 OnPaint() 814

19.12.4 坐标转换 815

19.12.5 响应用户的输入 817

19.13 打印 820

19.14 小结 825

第20章 访问Internet 826

20.1 WebClient类 826

20.1.1 下载文件 827

20.1.2 基本的Web客户样例 827

20.1.3 上传文件 828

20.2 WebRequest类和WebResponse类 829

20.3 把输出结果作为HTML页面显示 832

20.4.1 URI 835

20.4 实用类 835

20.4.2 IP地址和DNS名称 837

20.5 较低层的协议 839

20.6 小结 845

第21章 带有.NET Remoting的分布式应用程序 846

21.1 .NET Remoting的含义 847

21.1.1 Web Services Anywhere 847

21.1.2 CLR Object Remoting 848

21.2 .NET Remoting概述 848

21.3 环境 850

21.3.1 激活 851

21.3.2 属性和特性 851

21.3.3 环境之间的通信 852

21.4 远程对象、客户机和服务器 852

21.4.1 远程对象 852

21.4.2 简单的服务器 853

21.4.3 简单的客户机 854

21.5 .NET Remoting体系结构 856

21.5.1 信道 856

21.5.2 格式标识符 860

21.5.3 ChannelServices和RemotingConfiguration 860

21.5.4 对象的激活 861

21.5.5 消息接收器 865

21.5.6 在远程方法中传递对象 866

21.5.7 生存期管理 869

21.6 .NET Remoting的其他特性 872

21.6.1 配置文件 872

21.6.2 驻留应用程序 881

21.6.3 类、接口和Soapsuds 882

21.6.4 跟踪服务 884

21.6.5 异步的远程调用 886

21.6.6 远程调用和事件 887

21.6.7 调用环境 894

21.7 小结 895

第22章 Windows服务 897

22.1 Windows服务 897

22.2 Windows服务的体系结构 898

22.2.1 服务程序 898

22.2.2 服务控制程序 900

22.2.3 服务配置程序 900

22.3 System.ServiceProcess命名空间 900

22.4 创建Windows服务 900

22.4.1 使用套接字的类库 901

22.4.2 TCPClient样例 905

22.4.3 Windows服务项目 907

22.4.4 线程和服务 912

22.4.5 服务的安装 912

22.4.6 安装程序 913

22.5 服务的监视和控制 917

22.5.1 MMC计算机管理 918

22.5.3 sc.exe 919

22.5.2 net.exe 919

22.5.4 Visual Studio.NET Server Explorer 920

22.5.5 ServiceController类 920

22.6 故障排除 926

22.6.1 交互式服务 926

22.6.2 事件日志 927

22.6.3 性能监视 931

22.7.1 网络绑定的变化和电源事件 937

22.7 Windows 2000的服务特性 937

22.7.2 故障恢复 938

22.7.3 作为服务的COM+应用程序 938

22.8 小结 939

第23章 .NET的安全性 940

23.1 代码访问的安全性 940

23.1.1 代码组 941

23.1.2 代码访问权限和权限集 947

23.1.3 策略的级别:Machine、User和Enterprise 951

23.2 对Framework中安全性的支持 953

23.2.1 要求权限 954

23.2.2 请求权限 957

23.2.3 隐式的权限 959

23.2.4 拒绝权限 960

23.2.5 断言权限 961

23.2.6 创建代码访问权限 963

23.3.7 声明的安全性 963

23.3.1 Principal 964

23.3 基于角色的安全性 964

23.3.2 Windows Principal 965

23.3.3 角色 967

23.3.4 声明基于角色的安全性 967

23.4 安全策略的管理 968

23.4.1 安全配置文件 968

23.4.2 代码组和权限的管理 972

23.4.3 安全性的启用和禁用 972

23.4.6 代码组的删除 973

23.4.4 重置安全策略 973

23.4.5 代码组的创建 973

23.4.7 代码组权限的更改 974

23.4.8 权限集的创建和应用 975

23.4.9 使用强名称发布代码 977

23.4.10 使用证书发布代码 980

23.4.11 区域的管理 987

23.5 小结 989

附录A 面向对象编程的原则 990

A.1 VB6程序员的注意事项 990

A.2 什么是对象 991

A.3 编程中的对象 991

A.3.1 类成员 992

A.3.2 类的定义 992

A.3.3 对象的实例化和使用 993

A.3.4 使用静态成员 995

A.3.5 引用类型的注意事项 998

A.3.6 方法的重载 999

A.3.7 属性 1001

A.4 继承 1003

A.4.1 在C#中使用继承 1004

A.4.2 类的层次结构和类的设计 1010

A.4.3 多态性和虚方法 1012

A.4.4 方法的隐藏 1014

A.4.5 抽象函数和基类 1015

A.5 接口 1019

A.4.6 密封类和密封方法 1019

A.6 构造和删除 1020

A.7 小结 1023

附录B C#的编译器选项 1025

B.1 使用C#编译器 1025

B.1.1 输入和输出文件 1026

B.1.2 编译不同的项目类型 1026

B.1.3 响应文件 1027

B.2 编译器选项 1027