C#与.NET 4高级程序设计:第5版

《C#与.NET 4高级程序设计:第5版 》

基本信息

原书名: Pro C# 2010 and the .NET 4 Platform 5 edition

原出版社: Apress

作者: (美)Andrew Troelsen   

译者: 朱晔 肖逵 姚琪琳 张大磊 王少葵 范睿

丛书名: 图灵程序设计丛书

 出版社:人民邮电出版社

ISBN:9787115250322

 上架时间:2011-4-26

出版日期:2011 年4月

http://product.china-pub.com/197981

内容简介

  《c#与.net 4高级程序设计:第5版》是c# 领域久负盛名的经典著作,深入全面地叙述了c# 编程语言和.net 平台核心,并以大量示例剖析相关概念。书中介绍了c# 的各种语言构造、.net 2.0 的类、核心api、公共中间语言(cil)、动态程序集和asp.net 扩展等内容;同时也介绍了.net 3.0、.net 3.5 和.net 4 中的新的编程api,包括wpf、wcf 和wf 的功能;另外,还介绍了最新的c# 2010 编程语言、dlr、tpl、linq 编程技术、com 与.net 的互操作性以及平台无关的.net 开发等。
   《c#与.net 4高级程序设计:第5版》由微软c# mvp andrew troelsen 编写,历经多次修订,适合各层次.net 开发人员阅读。 
《C#与.NET 4高级程序设计:第5版》电子书在线阅读
目录 
第一部分 c#与.net平台 
第1章 .net之道 2 
1.1 .net之前的世界 2 
1.2 .net解决方案 5 
1.3 .net平台构造块(clr、cts和cls)简介 5 
1.4 其他支持.net的编程语言 7 
1.5 .net程序集概览 9 
1.6 cts 14 
1.7 cls 17 
1.8 clr 18 
1.9 程序集/命名空间/类型的区别 19 
1.10 使用ildasm.exe探索程序集 24 
1.11 使用reflector来查看程序集 26 
1.12 部署.net运行库 27 
1.13 .net的平台无关性 27 
1.14 小结 28 
第2章 构建c#应用程序 30 
2.1 .net framework 4 sdk的作用 30 
2.2 用csc.exe构建c#应用程序 31 
.2.3 使用notepad++构建.net应用程序 36 
2.4 使用sharpdevelop构建.net应用程序 36 
2.5 使用visual c# 2010 express构建.net应用程序 38 
2.6 使用visual studio 2010构建.net应用程序 40 
2.7 小结 50 
第二部分 c#核心编程结构 
第3章 c#核心编程结构ⅰ 52 
3.1 一个简单的c#程序 52 
3.2 有趣的题外话:system.environment类的其他成员 57 
3.3 system.console类 58 
3.4 系统数据类型和c#简化符号 62 
3.5 使用字符串数据 70 
3.6 窄化和宽化数据类型转换 76 
3.7 隐式类型本地变量 81 
3.8 c#迭代结构 84 
3.9 条件结构和关系/相等操作符 86 
3.10 小结 89 
第4章 c#核心编程结构ⅱ 90 
4.1 方法和参数修饰符 90 
4.2 c#中的数组操作 99 
4.3 枚举类型 105 
4.4 结构类型 109 
4.5 值类型和引用类型 112 
4.6 c#可空类型 118 
4.7 小结 121 
第5章 定义封装的类类型 122 
5.1 c#类类型 122 
5.2 构造函数 125 
5.3 this关键字的作用 128 
5.4 static关键字 133 
5.5 定义oop的支柱 139 
5.6 c#访问修饰符 142 
5.7 第一个支柱:c#的封装服务 144 
5.8 自动属性 154 
5.9 对象初始化器语法 157 
5.10 常量数据 160 
5.11 分部类型 162 
5.12 小结 163 
第6章 继承和多态 164 
6.1 继承的基本机制 164 
6.2 回顾visual studio类关系图 168 
6.3 oop的第二个支柱:继承 169 
6.4 包含/委托编程 174 
6.5 oop的第三个支柱:c#的多态支持 176 
6.6 基类/派生类的转换规则 187 
6.7 超级父类:system.object 189 
6.8 小结 195 
第7章 结构化异常处理 196 
7.1 错误、bug与异常 196 
7.2 .net异常处理的作用 197 
7.3 最简单的例子 199 
7.4 配置异常的状态 202 
7.5 系统级异常(system.system-exception) 206 
7.6 应用程序级异常(system.applica-tionexception) 207 
7.7 处理多个异常 210 
7.8 谁在引发什么异常 215 
7.9 未处理异常的后果 215 
7.10 使用visual studio调试未处理的异常 216 
7.11 损坏状态异常简介 217 
7.12 小结 218 
第8章 对象的生命周期 219 
8.1 类、对象和引用 219 
8.2 对象生命周期的基础 220 
8.3 应用程序根的作用 223 
8.4 对象的代 224 
8.5 .net 1.0 至.net 3.5的并发垃圾回收 225 
8.6 .net 4下的后台垃圾回收 225 
8.7 system.gc类型 225 
8.8 构建可终结对象 229 
8.9 构建可处置对象 231 
8.10 构建可终结类型和可处置类型 234 
8.11 延迟对象实例化 237 
8.12 小结 240 
第三部分 高级c#编程结构 
第9章 接口 242 
9.1 接口类型 242 
9.2 定义自定义接口 245 
9.3 实现接口 247 
9.4 在对象级别调用接口成员 248 
9.5 接口作为参数 250 
9.6 接口作为返回值 252 
9.7 接口类型数组 253 
9.8 使用visual studio 2010实现接口 253 
9.9 通过显式接口实现解决命名冲突 254 
9.10 设计接口层次结构 257 
9.11 构建可枚举类型(ienumerable和ienumerator) 260 
9.12 构建可克隆的对象(icloneable) 265 
9.13 构建可比较的对象(icomparable) 269 
9.14 小结 273 
第10章 泛型 274 
10.1 非泛型集合 274 
10.2 泛型类型参数的作用 281 
10.3 system.collections.generic命名空间 285 
10.4 创建自定义泛型方法 292 
10.5 创建自定义泛型结构和类 294 
10.6 类型参数的约束 297 
10.7 小结 300 
第11章 委托、事件和lambda 301 
11.1 .net委托类型 301 
11.2 在c#中定义委托类型 302 
11.3 system.multicastdelegate与system.delegate基类 304 
11.4 最简单的委托示例 305 
11.5 使用委托发送对象状态通知 307 
11.6 方法组转换语法 313 
11.7 委托协变 314 
11.8 泛型委托 316 
11.9 c#事件 318 
11.10 c#匿名方法 325 
11.11 lambda表达式 328 
11.12 小结 333 
第12章 高级c#语言特性 335 
12.1 索引器方法 335 
12.2 操作符重载 339 
12.3 自定义类型转换 347 
12.4 扩展方法 352 
12.5 分部方法 360 
12.6 匿名类型 362 
12.7 指针类型 367 
12.8 小结 373 
第13章 linq to object 374 
13.1 linq特有的编程结构 374 
13.2 linq的作用 377 
13.3 将linq查询应用于原始数组 379 
13.4 返回linq查询的结果 385 
13.5 将linq查询应用到集合对象 387 
13.6 c#linq查询操作符 389 
13.7 linq查询语句的内部表示 396 
13.8 小结 400 
第四部分 用.net程序集编程 
第14章 .net程序集入门 402 
14.1 定义自定义命名空间 402 
14.2 .net程序集的作用 407 
14.3 .net程序集的格式 409 
14.4 构建和使用单文件程序集 412 
14.5 构建和使用多文件程序集 421 
14.6 私有程序集 423 
14.7 共享程序集 427 
14.8 使用共享程序集 433 
14.9 配置共享程序集 435 
14.10 发行者策略程序集 439 
14.11 [codebase]元素 440 
14.12 system.configuration命名空间 441 
14.13 小结 442 
第15章 类型反射、晚期绑定和基于特性的编程 443 
15.1 类型元数据的必要性 443 
15.2 反射 447 
15.3 构建自定义的元数据查看器 450 
15.4 动态加载程序集 454 
15.5 反射共享程序集 457 
15.6 晚期绑定 458 
15.7 .net特性的作用 461 
15.8 构建自定义特性 465 
15.9 程序集级别(和模块级别)特性 467 
15.10 使用早期绑定反射特性 469 
15.11 使用晚期绑定反射特性 470 
15.12 反射、晚期绑定和自定义特性的使用背景 471 
15.13 构建可扩展的应用程序472 
15.14 小结 477 
第16章 进程、应用程序域和对象上下文 478 
16.1 windows进程的作用 478 
16.2 .net平台下与进程进行交互 480 
16.3 .net应用程序域 488 
16.4 与默认应用程序域进行交互 489 
16.5 创建新的应用程序域 492 
16.6 对象上下文边界 495 
16.7 进程、应用程序域和上下文小结 498 
16.8 小结 499 
第17章 cil和动态程序集的作用 500 
17.1 学习cil语法的原因 500 
17.2 cil指令、特性和操作码 501 
17.3 入栈和出栈:cil基于栈的本质 502 
17.4 正反向工程 504 
17.5 cil指令和特性 510 
17.6 .net基础类库、c#和cil数据类型的映射 515 
17.7 在cil中定义类型成员 516 
17.8 剖析cil操作码 518 
17.9 使用cil构建.net程序集 522 
17.10 动态程序集 526 
17.11 小结 534 
第18章 动态类型和动态语言运行时 535 
18.1 dynamic关键字的作用 535 
18.2 dlr的作用 540 
18.3 使用动态类型简化后期绑定调用 542 
18.4 使用动态数据简化com互操作 544 
18.5 使用c# 2010的特性进行com互操作 548 
18.6 小结 552 
第五部分 .net基础类库 
第19章 构建多线程应用程序 554 
19.1 进程、应用程序域、上下文及线程之间的关系 554 
19.2 .net委托的简短回顾 556 
19.3 委托的异步性 557 
19.4 异步调用方法 559 
19.5 system.threading命名空间 564 
19.6 system.threading.thread类 564 
19.7 以编程方式创建次线程 567 
19.8 并发问题 572 
19.9 使用timer callback编程 578 
19.10 clr线程池 579 
19.11 .net平台下的并行编程 581 
19.12 并行linq查询(plinq) 588 
19.13 小结 590 
第20章 文件输入输出和对象序列化 591 
20.1 研究system.io命名空间 591 
20.2 directory(info)和file(info)类型 592 
20.3 使用directoryinfo类型 593 
20.4 使用directory类型 596 
20.5 使用driveinfo类类型 597 
20.6 使用fileinfo类 598 
20.7 使用file类型 601 
20.8 stream抽象类 603 
20.9 使用streamwriter和streamreader类型 605 
20.10 使用stringwriter和stringreader类型 608 
20.11 使用binarywriter和binary-reader 609 
20.12 以编程方式“观察”文件 610 
20.13 对象序列化 612 
20.14 为序列化配置对象 614 
20.15 选择序列化格式化程序 616 
20.16 使用binaryformatter序列化对象 618 
20.17 使用soapformatter序列化对象 620 
20.18 使用xmlserializer序列化对象 621 
20.19 序列化对象集合 623 
20.20 自定义soap/binary序列化过程 624 
20.21 小结 628 
第21章 ado.net之一:连接层 630 
21.1 ado.net的宏观定义 630 
21.2 ado.net数据提供程序 632 
21.3 其他的ado.net命名空间 634 
21.4 system.data命名空间的类型 635 
21.5 使用接口的抽象数据提供程序 639 
21.6 创建autolot数据库 641 
21.7 ado.net数据提供程序工厂模型 645 
21.8 ado.net的连接层 650 
21.9 使用数据读取器 654 
21.10 构建可重用的数据访问库 656 
21.11 创建控制台ui前端 664 
21.12 数据库事务 669 
21.13 小结 673 
第22章 ado.net之二:断开连接层 674 
22.1 ado.net断开连接层 674 
22.2 dataset的作用 675 
22.3 使用datacolumn 677 
22.4 使用datarow 679 
22.5 使用datatable 682 
22.6 将datatable对象绑定到用户界面 687 
22.7 使用数据适配器 695 
22.8 向autolotdal.dll添加断开连接功能 698 
22.9 多表dataset对象和数据关系 701 
22.10 windows forms数据库设计器工具 706 
22.11 将强类型的数据库代码隔离到类库中 713 
22.12 linq to dataset 717 
22.13 小结 722 
第23章 ado.net之三:entity framework 723 
23.1 entity framework的作用 723 
23.2 创建和分析edm 730 
23.3 对概念模型进行编程 739 
23.4 autolotdal 4.0版,加入实体 744 
23.5 将数据实体绑定到windows forms gui 748 
23.6 小结 752 
第24章 linq to xml简介 753 
24.1 两个xml api的故事 753 
24.2 system.xml.linq命名空间的成员 756 
24.3 使用xelement和xdocument 759 
24.4 在内存中操作xml文档 762 
24.5 小结 766 
第25章 wcf 767 
25.1 各种分布式计算api 767 
25.2 wcf的作用 772 
25.3 wcf核心程序集 774 
25.4 visual studio wcf项目模板 775 
25.5 wcf应用程序的基本构成 776 
25.6 wcf的abc 777 
25.7 构建wcf服务 781 
25.8 承载wcf服务 784 
25.9 构建wcf客户端应用程序 791 
25.10 用wcf 4.0简化配置设置 795 
25.11 使用wcf服务库项目模板 800 
25.12 以windows服务承载wcf服务 803 
25.13 从客户端异步调用服务 807 
25.14 定义wcf数据契约 809 
25.15 小结 813 
第26章 windows workflow foundation4.0简介 814 
26.1 定义业务流程 814 
26.2 构建简单的工作流 815 
26.3 wf 4.0运行时 818 
26.4 检查wf 4.0中的活动 823 
26.5 构建流程图工作流 825 
26.6 用专门的库隔离工作流 833 
26.7 使用工作流库 840 
26.8 小结 842 
第六部分 使用wpf构建桌面用户界面第27章 wpf和xaml 844 
27.1 wpf背后的动机 844 
27.2 各种形式的wpf应用程序 846 
27.3 wpf程序集 850 
27.4 创建不使用xaml的wpf应用程序 856 
27.5 仅使用xaml构建wpf应用程序 863 
27.6 将标记转换为.net程序集 867 
27.7 wpf xaml语法 871 
27.8 使用代码隐藏文件构建wpf应用程序 879 
27.9 使用visual studio 2010构建wpf应用程序 881 
27.10 小结 889 
第28章 使用wpf控件编程 890 
28.1 wpf核心控件概述 890 
28.2 使用面板控制内容布局 894 
28.3 使用嵌套面板构建窗口框架 903 
28.4 wpf控件命令 907 
28.5 使用expression blend构建wpf用户界面 912 
28.6 构建ink api选项卡 919 
28.7 documents api 928 
28.8 构建documents选项卡 929 
28.9 wpf数据绑定模型 934 
28.10 小结 941 
第29章 wpf图形呈现服务 942 
29.1 理解wpf的图形呈现服务 942 
29.2 使用形状呈现图形数据 943 
29.3 wpf画刷和画笔 952 
29.4 图形变换 955 
29.5 使用expression blend处理形状 958 
29.6 使用绘图和几何图形呈现图形数据 962 
29.7 使用expression design生成复杂的向量图形 965 
29.8 使用可视化层呈现图形数据 967 
29.9 小结 972 
第30章 wpf资源、动画和样式 973 
30.1 理解wpf资源系统 973 
30.2 使用对象(逻辑)资源 978 
30.3 理解wpf动画服务 988 
30.4 用xaml创建动画 992 
30.5 wpf样式的作用 994 
30.6 使用expression blend生成样式 1001 
30.7 小结 1003 
第31章 wpf控件模板和用户控件 1004 
31.1 依赖属性的作用 1004 
31.2 构建自定义依赖属性 1008 
31.3 路由事件 1013 
31.4 逻辑树、可视树和默认模板 1016 
31.5 在visual studio 2010中构建自定义控件模板 1022 
31.6 使用blend构建自定义usercontrol 1028 
31.7 创建wpf应用程序jackpot deluxe 1035 
31.8 小结 1043 
第七部分 使用asp.net构建web应用程序 
第32章 构建asp.net网页 1046 
32.1 http的作用 1046 
32.2 web应用程序和web服务 1047 
32.3 html的作用 1048 
32.4 客户端脚本的作用 1053 
32.5 回发到web服务器 1054 
32.6 asp.net api的特性 1055 
32.7 构建单个文件的asp.net网页 1058 
32.8 使用代码文件构建asp.net web页面 1066 
32.9 asp.net web site和asp.net web application 1070 
32.10 asp.net网站目录结构 1072 
32.11 页面类型的继承链 1073 
32.12 与传入的http请求交互 1074 
32.13 与输出http响应交互 1077 
32.14 asp.net网页的生命周期 1078 
32.15 web.config文件的作用 1081 
32.16 小结 1082 
第33章 asp.net web控件、母版页和主题 1083 
33.1 web控件的本质 1083 
33.2 control和webcontrol基类 1085 
33.3 asp.net web控件的类别 1089 
33.4 构建asp.net汽车网站 1091 
33.5 验证控件的作用 1104 
33.6 使用主题 1110 
33.7 小结 1114 
第34章 asp.net状态管理技术 1115 
34.1 状态问题 1115 
34.2 asp.net状态管理技术 1117 
34.3 asp.net视图状态的作用 1117 
34.4 global.asax文件的作用 1120 
34.5 应用程序状态与会话状态的差别 1123 
34.6 使用应用程序缓存 1127 
34.7 维护会话数据 1131 
34.8 cookie 1134 
34.9 [sessionstate]元素的作用 1136 
34.10 asp.net用户配置api 1137 
34.11 小结 1143 
第八部分 附  录 
附录a windows forms编程 1146 
a.1 windows forms命名空间 1146 
a.2 创建一个简单的windows forms程序 1147 
a.3 visual studio windows forms项目模板 1152 
a.4 剖析form 1157 
a.5 响应鼠标活动 1163 
a.6 设计对话框 1166 
a.7 通过gdi+呈现图形数据 1171 
a.8 创建一个完整的windows forms应用程序 1175 
a.9 小结 1182 
附录b 使用mono进行平台无关的.net开发 1183 
b.1 .net的平台无关性 1183 
b.2 获取和安装mono 1186 
b.3 mono开发语言 1188 
b.4 兼容microsoft的mono开发工具 1189 
b.5 使用mono创建.net 应用程序 1190 
b.6 谁在使用mono 1196 
b.7 推荐学习 1196 
b.8 小结 1197 
posted on 2011-05-04 14:05  china-pub   阅读(604)  评论(0编辑  收藏  举报