C#高级编程

C#高级编程(中文第6版) Christian Nagel著

C# 高级
浏览人数:182
在读人数:1
读者:
《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#开发语言的最新版本的、有经验的开发人员。
第Ⅰ部分 C# 语 言 1   
第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 结构Nullable 220   
9.7.2 EventHandler 222   
9.7.3 ArraySegment 222   
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 359   
第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   
第Ⅲ部分 基 类 库 419   
第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   
第Ⅳ部分 数 据 711   
第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   
第Ⅴ部分 显 示 915   
第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   
第Ⅵ部分 通 信 1277   
第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   
第Ⅶ部分 附 录 1489   
附录A ADO.NET Entity Framework 1490   
附录B C#、Visual Basic和C++/CLI 1512   
附录C Windows Vista和Windows Server 2008 1541   
优质好资源
PDF

C#高级编程(中文第6版).pdf

2018-10-19上传 下载:30 影印版
已下载
注:所有资源均由网友分享,经由管理员审核,保证完整性、清晰度,请放心使用!
网络资源

来自新浪微盘的资源
来自CSDN下载频道的资源
来自盘多多的资源
来自搜百度盘的资源
作者简介
评论