巴士下载站 / 汇聚当下最新最酷的软件下载站!
巴士下载站
您的位置: 首页 >软件下载 > 教育教学 > 电子书籍 > C#高级编程第6版 电子书(pdf格式)

巴士为您推荐: C 高级编程 第6版 pdf 电子书

C#高级编程第6版是由作者Christian Nagel所编著的一本书。主要面向C#2008和NET 3.5,让读者或者程序员全面掌握C#2008的首选教程。

内容简介:

《C#高级编程(第6版)》面向C#2008和NET 3.5,在全面展示,NET和C#新特性的同时继续完善原有的内容,是有一些C#基础知识的读者或者想迁移到C#的其他程序员全面掌握C#2008的首选教程。《C#高级编程(第6版)》以.NET 3.5和VS2008为基础,是C# 2008及其环境的最终指南。《C#高级编程(第6版)》首先介绍了.NET的体系结构和方法论,解释了C#语言不能孤立看待,而必须放在.NET Framework中考虑原因。在论述了C#的基础知识之后,深入探讨了C#编程的所有内容。《C#高级编程(第6版)》添加了许多新示例,来解释如何使用C#完成各种任务。另外,还增加了一些全新的章节,包括LINQ、SQL、ADO.NET实体、Windows Communication Foundation、Windows workflow Foundation、Windows Presentation Foundation、数组、系统事务处理、跟踪、事件日志等,使读者能清晰、全面地理解C# 2008提供的所有功能。

《C#高级编程(第6版)》主要内容

编写Windows应用程序和Windows服务

用ASP.NET 3.5编写Web页面

用C#处理XML的技巧

用ADO.NET访问数据库

用C# 2008生成图形

各种C#插件

用LINQ轻松地处理SQL Server数据库和XML

《C#高级编程(第6版)》读者对象

《C#高级编程(第6版)》适用于希望学习C#开发语言的最新版本的、有经验的开发人员。

作者简介:

李敏波,2001年获清华大学工学博士,随后在新加坡国立大学从事协同产品设计与门户的博士后研究。2002年至2004年在金蝶软件(中国)公司中央研究院担任高级研究员。现任复旦大学软件学院零售与分销管理系统研究中心的副主任,从事教学与科研工作。

目录:

第Ⅰ部分 C# 语 言

第1章 .NET体系结构 2

1.1 C#与.NET的关系 2

1.2 公共语言运行库 3

1.2.1 平台无关性 3

1.2.2 提高性能 3

1.2.3 语言的互操作性 4

1.3 中间语言 5

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

1.3.2 相异值类型和引用类型 6

1.3.3 强数据类型 7

1.3.4 通过异常处理错误 12

1.3.5 特性的使用 13

1.4 程序集 13

1.4.1 私有程序集 14

1.4.2 共享程序集 14

1.4.3 反射 14

1.5 .NET Framework类 15

1.6 命名空间 16

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

1.7.1 创建ASP.NET应用程序 16

1.7.2 创建Windows窗体 18

1.7.3 使用Windows Presentation Foundation(WPF) 18

1.7.4 Windows控件 19

1.7.5 Windows服务 19

1.7.6 Windows Communication Foundation(WCF) 19

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

1.9 小结 21

第2章 C#基础 22

2.1 引言 22

2.2 第一个C#程序 23

2.2.1 代码 23

2.2.2 编译并运行程序 23

2.2.3 详细介绍 24

2.3 变量 26

2.3.1 变量的初始化 26

2.3.2 类型推断 27

2.3.3 变量的作用域 28

2.3.4 常量 30

2.4 预定义数据类型 31

2.4.1 值类型和引用类型 31

2.4.2 CTS类型 33

2.4.3 预定义的值类型 33

2.4.4 预定义的引用类型 36

2.5 流控制 38

2.5.1 条件语句 38

2.5.2 循环 42

2.5.3 跳转语句 45

2.6 枚举 46

2.7 数组 47

2.8 命名空间 48

2.8.1 using语句 49

2.8.2 命名空间的别名 50

2.9 Main()方法 51

2.9.1 多个Main()方法 51

2.9.2 给Main()方法传送参数 52

2.10 有关编译C#文件的更多内容 53

2.11 控制台I/O 54

2.12 使用注释 56

2.12.1 源文件中的内部注释 56

2.12.2 XML文档说明 56

2.13 C#预处理器指令 58

2.13.1 #define和 #undef 59

2.13.2 #if, #elif, #else和#endif 59

2.13.3 #warning和 # error 60

2.13.4 #region和#endregion 60

2.13.5 #line 61

2.13.6 #pragma 61

2.14 C#编程规则 61

2.14.1 用于标识符的规则 61

2.14.2 用法约定 62

2.15 小结 68

第3章 对象和类型 69

3.1 类和结构 69

3.2 类成员 70

3.2.1 数据成员 70

3.2.2 函数成员 71

3.2.3 只读字段 83

3.3 匿名类型 84

3.4 结构 85

3.4.1 结构是值类型 86

3.4.2 结构和继承 87

3.4.3 结构的构造函数 87

3.5 部分类 87

3.6 静态类 89

3.7 Object类 89

3.7.1 System.Object方法 89

3.7.2 ToString()方法 90

3.8 扩展方法 92

3.9 小结 92

第4章 继承 93

4.1 继承的类型 93

4.1.1 实现继承和接口继承 93

4.1.2 多重继承 94

4.1.3 结构和类 94

4.2 实现继承 94

4.2.1 虚方法 95

4.2.2 隐藏方法 96

4.2.3 调用函数的基类版本 97

4.2.4 抽象类和抽象函数 98

4.2.5 密封类和密封方法 98

4.2.6 派生类的构造函数 99

4.3 修饰符 103

4.3.1 可见性修饰符 103

4.3.2 其他修饰符 104

4.4 接口 105

4.4.1 定义和实现接口 106

4.4.2 派生的接口 109

4.5 小结 110

第5章 数组 111

5.1 简单数组 111

5.1.1 数组的声明 111

5.1.2 数组的初始化 111

5.1.3 访问数组元素 112

5.1.4 使用引用类型 113

5.2 多维数组 114

5.3 锯齿数组 115

5.4 Array类 116

5.4.1 属性 116

5.4.2 创建数组 117

5.4.3 复制数组 117

5.4.4 排序 118

5.5 数组和集合接口 121

5.5.1 IEumerable接口 121

5.5.2 ICollection接口 121

5.5.3 IList接口 121

5.6 枚举 122

5.6.1 IEnumerator接口 123

5.6.2 foreach语句 123

5.6.3 yield语句 123

5.7 小结 127

第6章 运算符和类型强制转换 128

6.1 运算符 128

6.1.1 运算符的简化操作 129

6.1.2 条件运算符 131

6.1.3 checked和unchecked运算符 131

6.1.4 is运算符 132

6.1.5 as运算符 132

6.1.6 sizeof运算符 132

6.1.7 typeof运算符 133

6.1.8 可空类型和运算符 133

6.1.9 空接合运算符 133

6.1.10 运算符的优先级 134

6.2 类型的安全性 134

6.2.1 类型转换 135

6.2.2 装箱和拆箱 138

6.3 对象的相等比较 139

6.3.1 引用类型的相等比较 139

6.3.2 值类型的相等比较 140

6.4 运算符重载 141

6.4.1 运算符的工作方式 142

6.4.2 运算符重载的示例:Vector结构 142

6.5 用户定义的数据类型转换 149

6.5.1 执行用户定义的类型转换 150

6.5.2 多重数据类型转换 156

6.6 小结 159

第7章 委托和事件 160

7.1 委托 160

7.1.1 在C#中声明委托 161

7.1.2 在C#中使用委托 162

7.1.3 简单的委托示例 165

7.1.4 BubbleSorter示例 166

7.1.5 多播委托 169

7.1.6 匿名方法 172

7.1.7 ?表达式 173

7.1.8 协变和抗变 175

7.2 事件 176

7.2.1 从接收器的角度讨论事件 177

7.2.2 生成事件 179

7.3 小结 182

第8章 字符串和正则表达式 184

8.1 System.String类 184

8.1.1 创建字符串 185

8.1.2 StringBuilder成员 188

8.1.3 格式化字符串 189

8.2 正则表达式 194

8.2.1 正则表达式概述 194

8.2.2 RegularExpressionsPlayaround示例 195

8.2.3 显示结果 198

8.2.4 匹配、组合和捕获 199

8.3 小结 201

第9章 泛型 202

9.1 概述 202

9.1.1 性能 203

9.1.2 类型安全 203

9.1.3 二进制代码的重用 204

9.1.4 代码的扩展 204

9.1.5 命名约定 205

9.2 创建泛型类 205

9.3 泛型类的特性 209

9.3.1 默认值 210

9.3.2 约束 210

9.3.3 继承 212

9.3.4 静态成员 213

9.4 泛型接口 213

9.5 泛型方法 214

9.6 泛型委托 216

9.6.1 执行委托调用的方法 216

9.6.2 对Array类使用泛型委托 218

9.7 Framework的其他泛型类型 220

9.7.1 结构Nullable220

9.7.2 EventHandler222

9.7.3 ArraySegment222

9.8 小结 223

第10章 集合 224

10.1 集合接口和类型 224

10.2 列表 227

10.2.1 创建列表 228

10.2.2 只读集合 237

10.3 队列 237

10.4 栈 241

10.5 链表 242

10.6 有序表 248

10.7 字典 250

10.7.1 键的类型 251

10.7.2 字典示例 252

10.7.3 Lookup类 255

10.7.4 其他字典类 256

10.8 HashSet 257

10.9 位数组 260

10.9.1 BitArray 260

10.9.2 BitVector32 262

10.10 性能 264

10.11 小结 266

第11章 Language Integrated Query 267

11.1 LINQ概述 267

11.1.1 使用List的查询 267

11.1.2 扩展方法 273

11.1.3 λ表达式 275

11.1.4 LINQ查询 276

11.1.5 推迟查询的执行 276

11.2 标准的查询操作符 278

11.2.1 过滤 280

11.2.2 用索引来过滤 280

11.2.3 类型过滤 281

11.2.4 复合的from子句 281

11.2.5 排序 282

11.2.6 分组 283

11.2.7 对嵌套的对象分组 284

11.2.8 连接 285

11.2.9 设置操作 287

11.2.10 分区 288

11.2.11 合计操作符 289

11.2.12 转换 290

11.2.13 生成操作符 291

11.3 表达式树 292

11.4 LINQ提供程序 295

11.5 小结 296

第12章 内存管理和指针 297

12.1 后台内存管理 297

12.1.1 值数据类型 297

12.1.2 引用数据类型 299

12.1.3 垃圾收集 300

12.2 释放未托管的资源 301

12.2.1 析构函数 301

12.2.2 IDisposable接口 303

12.2.3 实现IDisposable接口和析构函数 304

12.3 不安全的代码 305

12.3.1 用指针直接访问内存 306

12.3.2 指针示例:PointerPlayaround 314

12.3.3 使用指针优化性能 318

12.4 小结 321

第13章 反射 322

13.1 定制特性 322

13.1.1 编写定制特性 323

13.1.2 定制特性示例:WhatsNewAttributes 326

13.2 反射 329

13.2.1 System.Type类 329

13.2.2 TypeView示例 332

13.2.3 Assembly类 334

13.2.4 完成WhatsNewAttributes示例 335

13.3 小结 339

第14章 错误和异常 340

14.1 异常类 340

14.2 捕获异常 342

14.2.1 执行多个catch块 344

14.2.2 在其他代码中捕获异常 348

14.2.3 System.Exception属性 348

14.2.4 没有处理异常时所发生的情况 349

14.2.5 嵌套的 try块 349

14.3 用户定义的异常类 351

14.3.1 捕获用户定义的异常 352

14.3.2 抛出用户定义的异常 353

14.3.3 定义异常类 356

14.4 小结 358

第Ⅱ部分 visual studio

第15章 Visual Studio 2008 360

15.1 使用Visual Studio 2008 360

15.1.1 创建项目 364

15.1.2 解决方案和项目 370

15.1.3 Windows应用程序代码 373

15.1.4 读取Visual Studio 6项目 373

15.1.5 项目的浏览和编码 374

15.1.6 生成项目 382

15.1.7 调试 386

15.2 修订功能 389

15.3 多目标 391

15.4 WPF、WCF、WF等 393

15.4.1 在Visual Studio中建立WPF应用程序 393

15.4.2 在Visual Studio中建立WF应用程序 395

15.5 小结 396

第16章 部署 397

16.1 部署的设计 397

16.2 部署选项 397

16.2.1 Xcopy实用工具 398

16.2.2 Copy Web工具 398

16.2.3 发布Web站点 398

16.2.4 部署项目 398

16.2.5 ClickOnce 398

16.3 部署的要求 398

16.4 部署.NET运行库 399

16.5 简单的部署 400

16.5.1 Xcopy部署 400

16.5.2 Xcopy和Web应用程序 401

16.5.3 Copy Web工具 401

16.5.4 发布Web站点 401

16.6 Installer项目 402

16.6.1 Windows Installer 402

16.6.2 创建安装程序 403

16.7 ClickOnce 411

16.7.1 ClickOnce操作 411

16.7.2 发布应用程序 412

16.7.3 ClickOnce设置 412

16.7.4 应用程序缓存 412

16.7.5 安全性 413

16.7.6 高级选项 413

16.8 小结 418

第Ⅲ部分 基 类 库

第17章 程序集 420

17.1 程序集的含义 420

17.1.1 程序集的特性 421

17.1.2 程序集的结构 421

17.1.3 程序集的清单 422

17.1.4 命名空间、程序集和组件 422

17.1.5 私有程序集和共享程序集 423

17.1.6 辅助程序集 423

17.1.7 查看程序集 423

17.2 构建程序集 424

17.2.1 创建模块和程序集 424

17.2.2 程序集的属性 426

17.3 动态加载和创建程序集 428

17.4 应用程序域 431

17.5 共享程序集 435

17.5.1 强名 435

17.5.2 使用强名获得完整性 436

17.5.3 全局程序集缓存 436

17.5.4 创建共享程序集 438

17.5.5 创建强名 439

17.5.6 安装共享程序集 440

17.5.7 使用共享程序集 440

17.5.8 程序集的延迟签名 442

17.5.9 引用 442

17.5.10 本机图像生成器 443

17.6 配置.NET应用程序 444

17.6.1 配置类别 445

17.6.2 为搜索程序集配置目录 446

17.7 版本问题 448

17.7.1 版本号 448

17.7.2 编程获取版本 449

17.7.3 应用程序配置文件 449

17.7.4 发布方的策略文件 452

17.7.5 运行库的版本 455

17.8 小结 456

第18章 跟踪和事件 457

18.1 跟踪 457

18.1.1 跟踪源 458

18.1.2 跟踪开关 459

18.1.3 跟踪监听器 460

18.1.4 过滤器 462

18.1.5 断言 463

18.2 事件日志 464

18.2.1 事件日志体系架构 465

18.2.2 事件日志类 466

18.2.3 创建事件源 467

18.2.4 写入事件日志 468

18.2.5 资源文件 468

18.3 性能监控 473

18.3.1 性能监控类 473

18.3.2 性能计数器的构建 473

18.3.3 添加PerformanceCounter组件 474

18.3.4 perfmon.exe 476

18.4 小结 477

第19章 线程和同步 478

19.1 概述 478

19.2 异步委托 479

19.2.1 投票 480

19.2.2 等待句柄 481

19.2.3 异步回调 481

19.3 Thread类 483

19.3.1 给线程传送数据 485

19.3.2 后台线程 486

19.3.3 线程的优先级 487

19.3.4 控制线程 487

19.4 线程池 488

19.5 线程问题 489

19.5.1 竞态条件 489

19.5.2 死锁 492

19.6 同步 493

19.6.1 lock语句和线程安全 494

19.6.2 Interlocked 499

19.6.3 Monitor类 500

19.6.4 等待句柄 501

19.6.5 Mutex类 502

19.6.6 Semaphore类 503

19.6.7 Events类 505

19.6.8 ReaderWriterLockSlim 507

19.7 Timer类 510

19.8 COM单元 511

19.9 基于事件的异步模式 512

19.9.1 BackgroundWorker类 513

19.9.2 激活取消功能 516

19.9.3 激活进度功能 517

19.9.4 创建基于事件的异步组件 518

19.10 小结 522

第20章 安全性 523

20.1 身份验证和授权 523

20.1.1 标识和Principal 523

20.1.2 角色 525

20.1.3 声明基于角色的安全性 525

20.1.4 客户应用程序服务 526

20.2 加密 531

20.2.1 签名 533

20.2.2 密钥的互换和安全传送 534

20.3 资源的访问控制 537

20.4 代码访问的安全性 540

20.4.1 权限 541

20.4.2 代码组 550

20.4.3 策略的级别:Machine、User和Enterprise 557

20.5 安全策略的管理 558

20.5.1 代码组和权限的管理 561

20.5.2 安全性的启用和禁用 561

20.5.3 代码组的创建 562

20.5.4 代码组的删除 562

20.5.5 代码组权限的更改 563

20.5.6 权限集的创建和应用 564

20.5.7 使用强名发布代码 565

20.5.8 使用证书发布代码 567

20.6 小结 572

第21章 本地化 573

21.1 System.Globalization命名空间 573

21.1.1 Unicode问题 573

21.1.2 文化和区域 574

21.1.3 使用文化 578

21.1.4 排序 582

21.2 资源 584

21.2.1 创建资源文件 584

21.2.2 资源文件生成器 584

21.2.3 ResourceWriter 585

21.2.4 使用资源文件 585

21.2.5 System.Resources命名空间 590

21.3 使用Visual Studio的Windows Forms本地化示例 591

21.3.1 编程修改文化 595

21.3.2 使用定制资源文件 596

21.3.3 资源的自动回退 597

21.3.4 外包翻译 597

21.4 用ASP.NET本地化 598

21.5 用WPF本地化 600

21.5.1 WPF应用程序 600

21.5.2 .NET资源 601

21.5.3 用XAML本地化 602

21.6 定制的资源读取器 604

21.6.1 创建DatabaseResourceReader类 605

21.6.2 创建DatabaseResourceSet类 606

21.6.3 创建DatabaseResource-Manager类 607

21.6.4 DatabaseResourceReader的客户应用程序 608

21.7 创建定制文化 608

21.8 小结 609

第22章 事务处理 610

22.1 概述 610

22.1.1 事务处理阶段 611

22.1.2 ACID属性 611

22.2 数据库和实体类 612

22.3 传统的事务处理 614

22.3.1 ADO.NET事务处理 614

22.3.2 System.EnterpriseServices 615

22.4 System.Transactions 616

22.4.1 可提交的事务处理 618

22.4.2 事务处理的升级 620

22.4.3 依赖的事务处理 621

22.4.4 环境事务处理 623

22.5 隔离级别 630

22.6 定制资源管理器 631

22.7 Windows Vista和Windows Server 2008 的事务处理 637

22.8 小结 641

第23章 Windows服务 642

23.1 Windows服务 642

23.2 Windows服务的体系结构 643

23.2.1 服务程序 643

23.2.2 服务控制程序 645

23.2.3 服务配置程序 645

23.3 System.ServiceProcess命名空间 645

23.4 创建Windows服务 646

23.4.1 使用套接字的类库 646

23.4.2 TcpClient示例 649

23.4.3 Windows服务项目 652

23.4.4 线程和服务 656

23.4.5 服务的安装 656

23.4.6 安装程序 657

23.5 服务的监视和控制 661

23.5.1 MMC计算机管理 661

23.5.2 net.exe 662

23.5.3 sc.exe 663

23.5.4 Visual Studio Server Explorer 664

23.5.5 ServiceController类 664

23.6 故障排除 671

23.6.1 交互式服务 671

23.6.2 事件日志 672

23.7 电源事件 673

23.8 小结 673

第24章 互操作性 674

24.1 .NET和COM 674

24.1.1 元数据 675

24.1.2 释放内存 675

24.1.3 接口 675

24.1.4 方法绑定 677

24.1.5 数据类型 677

24.1.6 注册 678

24.1.7 线程 678

24.1.8 错误处理 679

24.1.9 事件处理 680

24.2 编组 680

24.3 在.NET客户程序中使用COM组件 681

24.3.1 创建COM组件 681

24.3.2 创建Runtime Callable Wrapper 686

24.3.3 使用RCW 687

24.3.4 可交互操作的主程序集 689

24.3.5 线程问题 689

24.3.6 添加连接点 689

24.3.7 在Windows窗体中使用ActiveX控件 692

24.3.8 在ASP.NET中使用COM对象 694

24.4 在COM客户程序中使用.NET组件 695

24.4.1 COM Callable Wrapper 695

24.4.2 创建.NET组件 695

24.4.3 创建类型库 696

24.4.4 COM互操作特性 698

24.4.5 COM注册 701

24.4.6 创建COM客户程序 701

24.4.7 添加连接点 703

24.4.8 用sink对象创建客户程序 704

24.4.9 在Internet Explorer中运行Windows窗体控件 705

24.5 平台调用 706

24.6 小结 709

第Ⅳ部分 数 据

第25章 文件和注册表操作 712

25.1 管理文件系统 712

25.1.1 表示文件和文件夹的.NET类 713

25.1.2 Path类 716

25.1.3 示例:文件浏览器 716

25.2 移动、复制和删除文件 721

25.2.1 FilePropertiesAndMovement示例 721

25.2.2 示例FilePropertiesAnd-Movement的代码 722

25.3 读写文件 724

25.3.1 读取文件 725

25.3.2 写入文件 726

25.3.3 流 727

25.3.4 缓存的流 729

25.3.5 使用FileStream类读写二进制文件 729

25.3.6 读写文本文件 734

25.4 读取驱动器信息 740

25.5 文件的安全性 742

25.5.1 从文件中读取ACL 743

25.5.2 从目录中读取ACL 744

25.5.3 添加和删除文件中的ACL项 745

25.6 读写注册表 746

25.6.1 注册表 747

25.6.2 .NET注册表类 749

25.6.3 SelfPlacingWindow示例 751

25.7 读写独立存储器 756

25.8 小结 760

第26章 .NET数据访问 761

26.1 ADO.NET概述 761

26.1.1 命名空间 762

26.1.2 共享类 762

26.1.3 数据库特定的类 763

26.2 使用数据库连接 764

26.2.1 管理连接字符串 765

26.2.2 高效地使用连接 767

26.2.3 事务处理 769

26.3 命令 770

26.3.1 执行命令 771

26.3.2 调用存储过程 775

26.4 快速数据访问:数据读取器 777

26.5 管理数据和关系:DataSet类 780

26.5.1 数据表 780

26.5.2 数据列 781

26.5.3 数据关系 786

26.5.4 数据约束 787

26.6 XML模式:用XSD生成代码 790

26.7 填充数据集 795

26.7.1 用数据适配器来填充 DataSet 796

26.7.2 从XML中给数据集填充数据 797

26.8 保存对数据集的修改 797

26.8.1 通过数据适配器进行更新 797

26.8.2 写入XML输出结果 800

26.9 使用ADO.NET 801

26.9.1 分层开发 801

26.9.2 生成SQL Server的键 802

26.9.3 命名约定 804

26.10 小结 806

第27章 LINQ to SQL 807

27.1 LINQ to SQL和Visual Studio 2008 808

27.1.1 使用LINQ to SQL调用Products表——创建控制台应用程序 809

27.1.2 添加LINQ to SQL类 809

27.1.3 O/R设计器概述 810

27.1.4 创建Product对象 811

27.2 对象映射到LINQ对象上 813

27.2.1 DataContext对象 814

27.2.2 Table对象 817

27.3 不使用O/R设计器工作 818

27.3.1 创建自己的定制对象 818

27.3.2 用定制的对象和LINQ进行查询 819

27.3.3 用查询限制所调用的列 820

27.3.4 使用列名 821

27.3.5 创建自己的DataContext对象 821

27.4 定制对象和O/R设计器 822

27.5 查询数据库 824

27.5.1 使用查询表达式 824

27.5.2 查询表达式 825

27.5.3 使用表达式过滤 825

27.5.4 连接 826

27.5.5 组合数据项 827

27.6 存储过程 828

27.7 小结 829

第28章 处理XML 830

28.1 .NET支持的XML标准 830

28.2 System.Xml命名空间 831

28.3 使用System.Xml类 832

28.4 读写流格式的XML 832

28.4.1 使用 XmlReader类 833

28.4.2 使用XmlReader类进行验证 836

28.4.3 使用XmlWriter类 838

28.5 在.NET中使用DOM 839

28.6 使用XPathNavigator 844

28.6.1 System.Xml.XPath命名空间 844

28.6.2 System.Xml.Xsl命名空间 849

28.6.3 调试XSLT 853

28.7 XML和ADO.NET 854

28.7.1 将ADO.NET数据转换为XML文档 854

28.7.2 把XML文档转换为ADO.NET数据 860

28.8 在XML中串行化对象 862

28.9 小结 871

第29章 LINQ to XML 872

29.1 LINQ to XML和.NET 3.5 873

29.1.1 创建XML文档的新对象 873

29.1.2 Visual Basic 2008开辟了另一条道路 873

29.1.3 命名空间和前缀 873

29.2 .NET Framework 3.5中的新XML对象 874

29.2.1 XDocument对象 874

29.2.2 XElement对象 874

29.2.3 XNamespace对象 875

29.2.4 XComment对象 877

29.2.5 XAttribute对象 878

29.3 使用LINQ查询XML文档 879

29.3.1 查询静态的XML文档 879

29.3.2 查询动态的XML文档 880

29.4 处理XML文档 882

29.4.1 读取XML文档 882

29.4.2 写入XML文档 883

29.5 使用LINQ to SQL和LINQto XML 884

29.5.1 建立LINQ to SQL组件 885

29.5.2 查询数据库,输出XML 885

29.6 小结 887

第30章 .NET编程和SQL Server 888

30.1 .NET运行库的主机 888

30.2 Microsoft.SqlServer.Server 890

30.3 用户定义的类型 891

30.3.1 创建UDT 891

30.3.2 使用UDT 896

30.3.3 在客户端代码中使用UDT 896

30.4 用户定义的合计函数 897

30.4.1 创建用户定义的合计函数 898

30.4.2 使用用户定义的合计函数 899

30.5 存储过程 900

30.5.1 创建存储过程 900

30.5.2 使用存储过程 901

30.6 用户定义的函数 902

30.6.1 创建用户定义的函数 902

30.6.2 使用用户定义的函数 903

30.7 触发器 903

30.7.1 创建触发器 904

30.7.2 使用触发器 905

30.8 XML数据类型 905

30.8.1 包含XML数据的表 905

30.8.2 读取XML值 906

30.8.3 数据的查询 909

30.8.4 XML数据修改语言(XML DML) 911

30.8.5 XML索引 912

30.8.6 强类型化的XML 913

30.9 小结 914

第Ⅴ部分 显 示

第31章 Windows窗体 916

31.1 创建Windows窗体应用程序 916

类层次结构 921

31.2 Control类 922

31.2.1 大小和位置 922

31.2.2 外观 923

31.2.3 用户交互操作 923

31.2.4 Windows功能 924

31.2.5 杂项功能 924

31.3 标准控件和组件 925

31.3.1 Button控件 925

31.3.2 CheckBox控件 926

31.3.3 RadioButton控件 927

31.3.4 ComboBox控件、ListBox控件和CheckedListBox控件 927

31.3.5 DateTimePicker控件 929

31.3.6 ErrorProvider组件 930

31.3.7 HelpProvider组件 931

31.3.8 ImageList组件 931

31.3.9 Label控件 931

31.3.10 ListView控件 932

31.3.11 PictureBox控件 933

31.3.12 ProgressBar控件 934

31.3.13 TextBox控件、RichTextBox控件与MaskedTextBox控件 934

31.3.14 Panel控件 935

31.3.15 FlowLayoutPanel和TableLayoutPanel控件 936

31.3.16 SplitContainer控件 936

31.3.17 TabControl控件和TabPages控件 937

31.3.18 ToolStrip控件 937

31.3.19 MenuStrip控件 940

31.3.20 ContextMenuStrip控件 940

31.3.21 ToolStripMenuItem控件 940

31.3.22 ToolStripManager类 941

31.3.23 ToolStripContainer控件 941

31.4 窗体 941

31.4.1 Form类 941

31.4.2 多文档界面 946

31.4.3 定制控件 947

31.5 小结 957

第32章 数据绑定 958

32.1 DataGridView控件 958

32.1.1 显示列表数据 958

32.1.2 数据源 960

32.2 DataGridView类的层次结构 968

32.3 数据绑定 970

32.3.1 简单的绑定 971

32.3.2 数据绑定对象 971

32.4 Visual Studio和数据访问 975

32.4.1 创建一个连接 975

32.4.2 选择数据 978

32.4.3 更新数据源 978

32.4.4 其他常见的要求 979

32.5 小结 986

第33章 使用GDI+绘图 987

33.1 理解绘图规则 987

33.1.1 GDI和GDI+ 987

33.1.2 绘制图形 989

33.1.3 使用OnPaint()绘制图形 992

33.1.4 使用剪切区域 993

33.2 测量坐标和区域 995

33.2.1 Point和PointF结构 995

33.2.2 Size和SizeF结构 996

33.2.3 Rectangle和RectangleF结构 997

33.2.4 Region 998

33.3 调试须知 999

33.4 绘制可滚动的窗口 1000

33.5 世界、页面和设备坐标 1004

33.6 颜色 1005

33.6.1 红绿蓝(RGB)值 1005

33.6.2 命名的颜色 1006

33.6.3 图形显示模式和安全的调色板 1006

33.6.4 安全调色板 1007

33.7 画笔和钢笔 1007

33.7.1 画笔 1008

33.7.2 钢笔 1008

33.8 绘制图形和线条 1009

33.9 显示图像 1011

33.10 处理图像时的问题 1013

33.11 绘制文本 1014

33.12 简单的文本示例 1014

33.13 字体和字体系列 1015

33.14 示例:枚举字体系列 1017

33.15 编辑文本文档:CapsEditor示例 1019

33.15.1 Invalidate()方法 1023

33.15.2 计算项和文档的大小 1024

33.15.3 OnPaint() 1025

33.15.4 坐标转换 1026

33.15.5 响应用户的输入 1028

33.16 打印 1030

33.17 小结 1035

第34章 Windows Presentation Foundation 1036

34.1 概述 1036

34.1.1 XAML 1036

34.1.2 设计人员和开发人员的合作 1041

34.1.3 类层次结构 1042

31.1.4 命名空间 1043

34.2 形状 1044

34.3 变换 1047

34.4 笔刷 1047

34.4.1 SolidColorBrush 1048

34.4.2 LinearGradientBrush 1048

34.4.3 RadialGradientBrush 1049

34.4.4 DrawingBrush 1049

34.4.5 ImageBrush 1050

34.4.6 VisualBrush 1050

34.5 控件 1052

34.5.1 简单控件 1052

34.5.2 内容控件 1052

34.5.3 有标题的内容控件 1054

34.5.4 项控件 1055

34.5.5 带标题的项控件 1055

34.6 布局 1056

34.6.1 StackPanel 1056

34.6.2 WrapPanel 1057

34.6.3 Canvas 1057

34.6.4 DockPanel 1058

34.6.5 Grid 1059

34.7 事件处理 1060

34.8 样式、模板和资源 1061

34.8.1 样式 1061

34.8.2 资源 1062

34.8.3 创建列表框的样式 1074

34.9 小结 1079

第35章 高级WPF 1080

35.1 数据绑定 1080

35.1.1 概述 1080

35.1.2 用XAML绑定 1081

35.1.3 简单对象的绑定 1083

35.1.4 对象数据提供程序 1085

35.1.5 列表绑定 1087

35.1.6 绑定到XML上 1095

35.1.7 绑定的验证 1097

35.2 命令绑定 1101

35.3 动画 1105

35.3.1 时间线 1106

35.3.2 触发器 1109

35.3.3 故事板 1111

35.4 在WPF中添加3D特性 1112

35.5 Windows窗体集成 1119

35.5.1 Windows窗体中的WPF控件 1119

35.5.2 WPF应用程序中的Windows窗体控件 1121

35.6 WPF浏览器应用程序 1122

35.7 小结 1122

第36章 插件 1124

36.1 System.AddIn体系结构 1124

36.1.1 插件的问题 1125

36.1.2 管道体系结构 1125

36.1.3 发现 1126

36.1.4 激活和隔离 1127

36.1.5 合同 1129

36.1.6 生存期 1130

36.1.7 版本问题 1131

36.2 插件示例 1131

36.2.1 计算器合同 1132

36.2.2 计算器插件视图 1133

36.2.3 计算器插件适配器 1133

36.2.4 计算器插件 1135

36.2.5 计算器主机视图 1136

36.2.6 计算机主机适配器 1136

36.2.7 计算器主机 1138

36.2.8 其他插件 1141

36.3 小结 1142

第37章 ASP.NET页面 1143

37.1 ASP.NET概述 1143

37.2 ASP.NET Web窗体 1145

37.2.1 ASP.NET代码模型 1148

37.2.2 ASP.NET服务器控件 1149

37.3 ADO.NET和数据绑定 1163

37.3.1 更新会议登记应用程序 1163

37.3.2 数据绑定的更多内容 1169

37.4 应用程序配置 1175

37.5 小结 1177

第38章 ASP.NET开发 1178

38.1 用户控件和定制控件 1179

38.1.1 用户控件 1179

38.1.2 PCSDemoSite中的用户控件 1185

38.1.3 定制控件 1185

38.2 Master页面 1189

38.2.1 在Web页面中访问Master页面 1191

38.2.2 嵌套的Master页面 1192

38.2.3 PCSDemoSite中的Master页面 1192

38.3 站点导航 1194

38.4 安全性 1197

38.4.1 使用安全向导添加Forms身份验证功能 1197

38.4.2 实现登录系统 1200

38.4.3 Web 登录服务器控件 1201

38.4.4 保护目录 1202

38.4.5 PCSDemoSite中的安全性 1202

38.5 主题 1204

38.5.1 把主题应用于页面 1204

38.5.2 定义主题 1205

38.5.3 PCSDemoSite中的主题 1206

38.6 Web Parts 1209

38.6.1 Web Parts应用程序组件 1209

38.6.2 Web Parts示例 1211

38.7 小结 1217

第39章 ASP.NET AJAX 1218

39.1 Ajax的概念 1218

39.2 ASP.NET AJAX 1220

39.2.1 核心功能 1221

39.2.2 ASP.NET AJAX Control Toolkit 1223

39.3 使用ASP.NET AJAX 1224

39.3.1 ASP.NET AJAX网站示例 1224

39.3.2 支持ASP.NET AJAX的网站配置 1227

39.3.3 添加ASP.NET AJAX功能 1230

39.3.4 使用AJAX库 1236

39.4 小结 1244

第40章 Visual Studio Tools for

Office 1246

40.1 VSTO概述 1246

40.1.1 项目类型 1247

40.1.2 项目特性 1249

40.2 VSTO基础 1250

40.2.1 Office对象模型 1250

40.2.2 VSTO命名空间 1251

40.2.3 主机项和主机控件 1251

40.2.4 基本的VSTO项目结构 1253

40.2.5 Globals类 1255

40.2.6 事件处理 1256

40.3 建立VSTO解决方案 1256

40.3.1 管理应用程序级插件 1257

40.3.2 与应用程序和文档交互操作 1258

40.3.3 UI的定制 1259

40.4 示例应用程序 1264

40.5 VBA交互操作性 1273

40.6 小结 1276

第Ⅵ部分 通 信

第41章 访问Internet 1278

41.1 WebClient类 1279

41.1.1 下载文件 1279

41.1.2 基本的Web客户示例 1279

41.1.3 上传文件 1280

41.2 WebRequest类和WebResponse类 1281

41.3 把输出结果显示为HTML页面 1284

41.3.1 在应用程序中进行简单的Web浏览 1285

41.3.2 启动Internet Explorer实例 1286

41.3.3 给应用程序提供更多的IE类型特性 1287

41.3.4 使用WebBrowser控件打印 1292

41.3.5 显示请求页面的代码 1292

41.3.6 WebRequest和WebResponse的层次结构 1293

41.4 实用工具类 1294

41.4.1 URI 1294

41.4.2 IP地址和DNS名称 1295

41.5 较低层的协议 1297

41.6 小结 1307

第42章 Windows Communication Foundation 1308

42.1 WCF概述 1308

42.1.1 SOAP 1309

42.1.2 WSDL 1310

42.1.3 JSON 1310

42.2 简单的服务和客户 1311

42.2.1 服务合同 1312

42.2.2 服务的实现 1312

42.2.3 WCF服务主机和WCF测试客户机 1313

42.2.4 定制服务主机 1315

42.2.5 WCF客户程序 1316

42.2.6 诊断 1317

42.3 合同 1319

42.3.1 数据合同 1320

42.3.2 版本问题 1320

42.3.3 服务合同 1321

42.3.4 消息合同 1322

42.4 服务的实现 1322

42.5 绑定 1328

42.6 主机 1330

42.6.1 定制主机 1330

42.6.2 WAS主机 1331

42.7 客户程序 1332

42.8 双向通信 1333

42.9 小结 1336

第43章 Windows Workflow Foundation 1337

43.1 Hello World示例 1337

43.2 活动 1338

43.2.1 IfElseActivity 1339

43.2.2 ParallelActivity 1340

43.2.3 CallExternalMethodActivity 1342

43.2.4 DelayActivity 1342

41.2.5 ListenActivity 1343

43.2.6 活动的执行模型 1344

43.3 定制的活动 1344

43.3.1 活动的有效性验证 1346

43.3.2 主题和设计器 1347

43.3.3 ActivityToolboxItem和图标 1348

43.3.4 定制的复合活动 1350

43.4 工作流 1356

43.4.1 系列工作流 1357

43.4.2 状态机工作流 1357

43.4.3 给工作流传送参数 1359

43.4.4 从工作流中返回结果 1360

43.4.5 将参数绑定到活动上 1361

43.5 工作流运行库 1362

43.6 工作流服务 1362

43.6.1 持续服务 1364

43.6.2 跟踪服务 1365

43.6.3 定制服务 1367

43.7 与WCF集成 1368

43.8 保存工作流 1370

43.9 工作流设计器 1372

43.10 小结 1372

第44章 Enterprise Services 1373

44.1 概述 1373

44.1.1 Enterprise Services简史 1374

44.1.2 使用Enterprise Services的场合 1374

44.1.3 环境 1375

44.1.4 自动的事务处理 1375

44.1.5 分布式事务处理 1375

44.1.6 对象池 1376

44.1.7 基于角色的安全性 1376

44.1.8 排队的组件 1376

44.1.9 松散藕合的事件 1376

44.2 创建简单的COM+应用程序 1377

44.2.1 类ServicedComponent 1377

44.2.2 标记程序集 1377

44.2.3 程序集的属性 1378

44.2.4 创建组件 1378

44.3 部署 1380

44.3.1 自动部署 1380

44.3.2 手工部署 1380

44.3.3 创建安装软件包 1380

44.4 Component Services浏览器 1381

44.5 客户应用程序 1383

44.6 事务处理 1384

44.6.1 事务处理的属性 1384

44.6.2 事务处理的结果 1385

44.7 示例应用程序 1386

44.7.1 实体类 1387

44.7.2 OrderControl组件 1388

44.7.3 OrderData组件 1389

44.7.4 OrderLineData组件 1391

44.7.5 客户应用程序 1392

44.8 集成WCF和Enterprise Services 1394

44.8.1 WCF服务Fa?ade 1394

44.8.2 客户程序 1397

44.9 小结 1398

第45章 消息队列 1399

45.1 概述 1399

45.1.1 使用Message Queuing的场合 1400

45.1.2 Message Queuing特性 1401

45.2 Message Queuing产品 1401

45.3 Message Queuing结构 1402

45.3.1 消息 1402

45.3.2 消息队列 1403

45.4 Message Queuing管理工具 1404

45.4.1 创建消息队列 1404

45.4.2 消息队列属性 1404

45.5 Message Queuing的编程实现 1405

45.5.1 创建消息队列 1406

45.5.2 查找队列 1406

45.5.3 打开已知的队列 1407

45.5.4 发送消息 1408

45.5.5 接收消息 1410

45.6 课程订单应用程序 1412

45.6.1 课程订单类库 1413

45.6.2 课程订单消息发送程序 1413

45.6.3 发送优先级和可恢复的消息 1415

45.6.4 课程订单消息接收程序 1416

45.7 接收结果 1419

45.7.1 确认队列 1419

45.7.2 响应队列 1420

45.8 事务队列 1420

45.9 消息队列和WCF 1421

45.9.1 带数据合同的实体类 1422

45.9.2 WCF服务合同 1423

45.9.3 WCF消息接收程序 1424

45.9.4 WCF消息发送程序 1426

45.10 消息队列的安装 1427

45.11 小结 1428

第46章 目录服务 1429

46.1 Active Directory的体系结构 1430

46.1.1 特性 1430

46.1.2 Active Directory的概念 1430

46.1.3 Active Directory数据的特性 1434

46.1.4 模式 1434

46.2 Active Directory的管理工具 1435

46.2.1 Active Directory Users and Computers工具 1436

46.2.2 ADSI Edit工具 1437

46.3 Active Directory编程 1438

46.3.1 System.DirectoryServices命名空间中的类 1439

46.3.2 绑定 1439

46.3.3 获取目录项 1443

46.3.4 对象集合 1444

46.3.5 缓存 1445

46.3.6 创建新对象 1446

46.3.7 更新目录项 1446

46.3.8 访问内部的ADSI对象 1447

46.3.9 在Active Directory中搜索 1448

46.4 搜索用户对象 1452

46.4.1 用户界面 1452

46.4.2 获取模式命名环境 1453

46.4.3 获取User类的属性名 1453

46.4.4 搜索用户对象 1454

46.5 账户管理 1456

46.5.1 显示用户信息 1457

46.5.2 创建用户 1457

46.5.3 重置密码 1458

46.5.4 创建组 1458

46.5.5 在组中添加用户 1459

46.5.6 查找用户 1459

46.6 DSML 1460

46.6.1 命名空间System.Directory-Services.Protocols中的类 1460

46.6.2 用DSML搜索Active Directory对象 1461

46.7 小结 1462

第47章 对等网络 1463

47.1 P2P概述 1463

47.1.1 客户机-服务器体系结构 1463

47.1.2 P2P体系结构 1464

47.1.3 P2P体系结构的挑战 1465

47.1.4 P2P术语 1466

47.1.5 P2P解决方案 1466

47.2 Microsoft Windows Peer-to-Peer Networking 1466

47.2.1 Peer Name Resolution Protocol(PNRP) 1467

47.2.2 People Near Me 1469

47.3 建立P2P应用程序 1470

47.3.1 System.Net.PeerToPeer 1470

47.3.2 System.Net.PeerTo-Peer.Collaboration 1475

47.4 小结 1478

第48章 Syndication 1479

48.1 System.ServiceModel.Syndication命名空间概述 1479

48.2 Syndication阅读器 1480

48.3 提供SyndicationFeed 1482

48.4 小结 1487

第Ⅶ部分 附 录

附录A ADO.NET Entity Framework 1490

附录B C#、Visual Basic和C++/CLI 1512

附录C Windows Vista和Windows Server 2008 1541

C#高级编程第6版 电子书(pdf格式)下载(该资源已下架)

猜你喜欢
排行榜
回顶部 去下载