前言:
“为计算机准备程序的过程非常吸引人,因为它不仅能带来经济和科学技术方面的回报,而且能给人以美的享受,就像写诗或作曲一样。”
———Donald Knuth,《Fundamental Algorithms》前言(1968)
37年后,程序员仍能体验到开发一个高效程序所带来的创造满足感。这可能是半夜里突然闯入脑海中的10行递归代码,也可能是一个完整的产品管理系统,这个系统的设计也许困扰了你整整一年。所以,即便是现在,好的程序仍是在传达一种逻辑和自然的感觉,特别是把这种感觉传达给它们的用户。
不过如今还要面对更大的挑战。现在的软件要求有更强的扩展性———可以运行在LAN、Internet或蜂窝电话上。因为代码可以在世界范围内访问,所以安全问题也就更为重要。而这又带来了另外一些问题,如可扩展性问题,以及如何为数以百计的并发用户实现代码同步。随着用户的增多,也带来了更多的文化元素,这种多元文化的并存还意味着需要定制程序,以适应世界范围内不同客户群体各自的语言和文化特性。
与其他统一开发环境一样,.NET以及为其编写的语言可以解决这些难题。本书适用于使用.NET框架的开发人员、软件架构师和学生。虽然本书中只有一章专门介绍C#语言的语法结构,但书中所有代码均使用C#编写。
首先,本书不是程序设计的入门读物,在此假设你对计算机语言已经有丰富的经验;其次,虽然书中通过大量的例子强调了封装、多态和继承等原理,但本书也并非面向对象编程(ObjectˉOriented Proˉgramming,OOP)的入门读物;最后,本书也不是介绍使用Visual Studio.NET来开发C#程序的入门图书,尽管书中提到了VS.NET,但我们的重点是开发和理解C#及.NET类,而且不依赖于任何IDE(集成开发环境)。
本书面向的是那些有经验的程序员,他们目前正转向.NET,并且想对.NET的功能有个全面了解。你可能用过VB6或C++,现在想了解.NET;也可能是一个VB.NET程序员,想扩展知识面,进一步掌握C#;或者(确实有这种可能)你是一个Java程序员,想对从未涉足的.NET一探究竟。下面是本书的主要内容,你可以看看这本书能不能满足你的需要。
* 18章内容。最好按顺序阅读前4章,其中对C#做了介绍,你会对如何使用.NET类库有所熟悉,其他章则可以根据你的兴趣有选择地阅读。第6章和第7章介绍了如何开发Windows窗体程序;第8章和第9章介绍了.NET图形类DGI+;第10章~第12章讨论了如何处理数据,包括XML和ADO.NET;第13章~第15章分别介绍了一些更高级的主题:线程、远程机制和代码安全;最后是Web三步曲:第16章讨论了开发ASP.NET Web页面;第17章深入分析了如何管理状态信息和HTTP请求;最后第18章介绍了Web服务。
* .NET2.0。本书是2.0Beta版发布后出版的,所以书中内容以该版本为基础。2.0的有关内容不是单独作为一部分来介绍,而是融入各章之中。不过,为了方便读者,附录A给出了.NET2.0有关内容的总结和单独的索引。
* 示例代码。本书大多数的示例代码都是很短的片断,只强调某个结构或技术,当然,这也是为了避免无用的代码浪费纸张。只有在确实必要的情况下才会出现超过一页的代码示例。书中所有重要的示例代码都可以从网上下载,下载地址是www.corecsharp.net,或者访问www.phptr.com/tiˉtle/0131472275也可以下载,要进入下载区,请输入关键词parsifal。
* 练习题与答案。每章最后都有一些练习题,可以检查你对这一章知识的掌握程度。本书最后专门有一部分给出了这些习题的答案。
* 重事实而不是个人看法。这本书并不是我的个人看法,而是根据.NET和C#固有的特性编写的。另外还提供了核心推荐和注解,也是着力强调知识本身,而不是我的主观见解。
可能有些人不同意下面的观点,但如果你真的想要学习C#和.NET,请关掉你的IDE,打开最惯用的文本编辑器,学习如何采用命令行方式使用C#编译器。等掌握了基础知识之后,可以再选择使用VS.NET或其他IDE来提高编程效率。
最后,再简单提一下.NET和Microsoft。本书使用的是Microsoft.NET1.x和Whidbey测试版,包含了Microsoft独有的ADO.NET和ASP.NET等内容,事实上,Microsoft已经对这些技术申请了专利。不过,所有C#和许多.NET基类库都基于同一个标准,以便把它们移植到其他平台。所以,现在和不久的将来,本书介绍的许多技术也将能应用于非Windows平台上的.NET实现(如Mono项目http://www.monoˉproject.com/MainˉPage)。
致谢
为了完成这本书,我做了21个月的研究和开发,在此期间得到了许多人的帮助。首先,我要感谢我的妻子Rebecca,她不知疲倦地逐页阅读潦草的手稿,并利用她的系统编程背景提出了很有价值的建议。其次,我要感谢那些评论人员,正是他们提出的批评和建议,才使本书组织得更好,内容和代码中的错误更少,而且该强调的内容更突出,他们是:Greg Beamer、James Edelen、Doug Holland、Curtiss Howard、Anand Narayanaswamy和Gordon Weakliem。特别要感谢Richard Hundhausen提出的建议,真的非常棒,完全超乎预料;感谢Cay Horstmann阅读了每一章手稿,他对Java的执著使他成为一个地地道道的“疯狂鼓吹者”。还要感谢Alan Tharp博士对于我计划编写一本.NET书所给予的鼓励,他是我最尊敬的计算机专业顾问。
最后,我非常高兴与Prentice Hall PTR出版社的编辑、员工们一起工作,特别要感谢Stephane Nakib、Joan Murray、Ebony Haight、Jessica D’Amico、Kelli Brooks和Vanessa Moore的辛勤工作。如果没有第一位编辑Stephane Nakib的努力,本书不可能面世,她提出了编写本书的想法,并在最初阶段着力将工作向前推进。Joan Murray编辑在中期介入,一直在仔细监督,并提供建议和鼓励,直到最终完成本书。制作编辑Vanessa Moore和文字编辑Kelli Brooks完成了“最麻烦的工作”,尽管最终手稿中不一致的地方和错误的词句层出不穷,但经他们之手,终于变成了一本可以出版的图书。对他们的感谢无以言表。写这本书时,有时我会感到遥遥无期,甚至这种感觉会超越写作带来的成就感,在那些日子里,有这样一些专业人士在身边一起工作实在是意义非凡。
除封面署名外,参加本书翻译工作的还有:肖斌、王小振、王树春、刘名臣、赵蓓、潘淼、刘立强、刘跃邦、蔡洪量、王三梅、苏金国、周兴汉、张练达、瑛、范松峰、杨健康、张莹、易竞、程龙、卢 、江健、丁小峰、牛亚峰、刘鑫。
| 回书目 下一节 |
|
· SQL Server入门到精通.. · 交换技术配置手册技术.. · 超级网管员——网络应.. · 网络服务器配置与应用.. · Linux集群技术自测试题.. · JavaSript核心技术自测.. |
· ARP攻击与防范技术自测.. · 国庆挑战自己参加自测 .. · 《网管员必读—网络应.. · 历次技术自测 获奖网友.. · 51CTO国庆七天技术自测.. · 9.2.2 无线AP |
|
|||
| · 网管系统介绍 · 网络管理系统如何支撑I.. · CISSP认证成长之路 · 51CTO国庆充电专题之好.. · 网络技术经典基础教程 · 51CTO主编推荐经典专题 · RAID——磁盘阵列基础 · 充电计划之热门IT认证.. |
· 51CTO技术自测 挑战自.. · AMD Phenom三核处理器.. · 国际文档格式标准开战 · 2007年互联网大会 · 我是黑客我怕谁——讲.. · ARP攻击防范与解决方案 · Solaris 10 配置管理 · Solaris基础知识入门 |
||
|
|||
| · Java基础教程 · VPN技术 · ARP攻击防范与解决方案 · SQL Server 2005全解 · SOA 面向服务架构 · SQL Server 2005全解 · Java编程开发手册 · RAID——磁盘阵列基础 |
· 三层交换技术专题 · SQL Server入门到精通 · Windows Server 2003企.. · Windows远程桌面应用 · C#技术开发指南 · VPN技术 · C#技术开发指南 · Solaris 10 配置管理 |
||
|
|||
| · ARP攻击防范与解决方案 · VPN技术 · SQL Server 2005全解 · Java基础教程 · SQL Server入门到精通 · SQL Server 2005全解 · SOA 面向服务架构 · Java编程开发手册 |
· C#技术开发指南 · 三层交换技术专题 · C#技术开发指南 · Windows远程桌面应用 · RAID——磁盘阵列基础 · Windows Server 2003企.. · 邮件服务器专题 · wimax技术与趋势 |
||
| ·DB2 Viper快速入门 ·DB2 9数据库的镜像分割与.. |
·将XML应用程序从DB2 8.x.. ·DB2 9中的pureXML:如何.. |
| ·服务器中的“傻瓜机”在.. ·盖茨也喜欢登录Youtube看.. |
· · |
| ·体验Windows Server 2008.. ·将超星图书转成PDF文档 |
·使用 Office Communicati.. ·VMware Workstation 6.01.. |
| ·强烈质疑“步行1公里就能.. ·国庆期间新闻回顾:微软.. |
·9月第3周回顾:微软和英.. ·9月第2周回顾:四核之战.. |
| · 华为、贝恩资本22亿美元.. · NGN:下一代网络 · 网络访问中断大排查 |
· 教你使用Anti ARP Sniff.. · 网络嗅探教程:使用Snif.. · 常见病毒手工清除方法大.. |
| · C++是垃圾语言?! · 2007年IT界七大抄袭事件 · Java实用开发全集 |
· 解析Ajax开发框架 走进A.. · 基于Google Maps与Ajax.. · 基于Google Maps与Ajax.. |
| · 热门 IT 培训认证官方资.. · Ubuntu 中文开源频道 · Solaris基础知识入门 |
· Google推出唯一硬件——.. · 硬盘之父获得诺贝尔物理.. · 理性面对四核服务器选购 |
| · 甲骨文Oracle 11g正式发.. · Oracle数据库开发之PL/S.. · Oracle数据库开发基础教.. |
· 硬盘之父获得诺贝尔物理.. · 存储2006,一个并购的大.. · IDC宣布浪潮蝉联存储市.. |