内容简介
   无论您是要开发桌面、分布式、Web 还是移动应用程序,C# 几乎能处理任何这些编程任务。本书带您领略这种健壮的面向对象编程语言(OOP) ,帮助您快速入门。本书由经验丰富的教师编写,将教学与内行编码完美地结合在一起。本书也给出了在为应用程序编写代码时经常会遇到的各种问题,帮助您避免这些问题。 本书开头以非编程语言的方式介绍了OOP ,并探索了在C# 中如何看待对象。然后逐渐引入新的编程概念以及C# 提供的工具集。通过每一章中包括的常见的、容易理解的习题,您将深入挖掘并开始应用这些概念。学习完本书后,您将可以编写自己设计的复杂OOP 程序。本书主要内容◆C# 语法与OOP 的概念◆设计与编写遵循安全编程惯例的C# 程序的方式◆利用语句重复与程序循环的提示◆构建和实现自己的类的技术◆经过试验的正确的编程技巧,包括从设计基础到调试辅助的一切内容◆使用磁盘数据文件和数据库存储数据的方式
在过去25年中,我编写了15本书籍,这些书籍涉及各种编程主题。为什么要编写如此多的编程书籍?是否是一开始写得不好?事实并非如此。在25年前编写第一本书籍时,面向对象编程(OOP)这一概念还很不明朗,大多数人都不了解它。与其他人一样,我花费不少精力研究OOP后才了解到OOP的真谛。并且,我知道很多人仍然对OOP缺乏了解。 每次上编程课时,我都会尽量采用更新更好的方式来讲解课程内容。如果环视整个教室并发现同学们都静静地坐着,那么我就会自我反省,并且尝试用其他方法介绍正在讲述的概念。我教授的每一堂课都会对教与学提出新的观点。我常常会更换教学示例和讲解编程概念的技巧,我在多年后又回来教书的原因之一就是我怀念那段不断摸索学习的经历。 虽然我编写的一些书籍是关于其他语言而非C#语言,但是这些书籍同样丰富了我作为教师的经验。只有在掌握一些不尽完美的语言之后,才能体会到某种语言的优点和弱点。编程语言不断地发展这一事实说明了如下观点:我肯定不是唯一仍然在学习的人。目前绝对可以确信的一件事情是:今天学到的任何知识在将来都有可能过时。 也许您应该询问自己的真正问题是,我为什么要购买这本书籍,而不是购买其他人编写的书籍?购买我所编写书籍的原因肯定有很多,但是真正使我编写的书籍在众多同类书籍中脱颖而出的原因只有一个。我绝不怀疑一些程序员可以编写更好的代码。当拥有自己的软件公司时,我最优秀的程序员Tim编写的代码就比我好,他是一名非常出色的程序员。但是,如果要让Tim说明这些代码,他就会手足无措。 本书不同于其他书籍:我尝试使用各种技术、示例和方法来向数千名学生介绍各种编程概念。我知道什么方法有效,什么方法无效。我遇到过很多令人头痛的问题,并且将它们改造成能够帮助学生在课堂上领悟所学知识的示例。毫无疑问,虽然如今有诸多作者、出色的编码人员,但是他们没有遭遇过令人头疼的示例,所以教导的方法完全不起作用。适合您的方法未必适合其他人。会编写优秀的示例不等于会编写优秀的书籍。有些人具备这两方面的能力(我认为P.J. Plauger、Jon Bentley、Brian Kernighant和Steve McConnell都是这样的人),但是这样的人相当少。可以看出,我并没有将自己放到这个列表中。然而,我的教学经验弥补了我在编码技巧方面的欠缺。当然,这需要由读者来判断。 本书内容丰富、示例清晰、叙述风格活泼。我想您会喜欢本书的。然而,更重要的是通过阅读本书,您可以了解面向对象编程和C#能完成的所有工作。 本书读者对象 本书不要求读者有编程经验。然而,这并不表示本书十分简单。本书的介绍进度非常缓慢,在介绍下一个主题之前会先帮助读者打下牢固的基础。本书鼓励读者编写自己的程序,并完成每章末尾的习题。如果试图走捷径,实际上就是自欺欺人。读者应该亲自输入本书的每行代码,并用这些代码进行试验。这样做可以使C#语言的学习事半功倍,也更容易使自己理解书中介绍的概念。可以从Wrox的Web站点下载代码,在后面将提供具体下载方式。可以只通过编写程序来学习编程,我鼓励您只要有机会就这样操作。 如果您有一些编程经验,很可能更容易读懂本书。并在阅读本书的过程中学到一些知识。如果您以前从来没有编写过程序,则非常适合于学习本书,因为这样就不会将太多的不良习惯带到新语言的学习中。 我认为本书非常适合于已经掌握一种编程语言,然而是在面向对象编程技术出现之前学习该语言的人。我想有很多像我这样的“老资格”的人愿意让自己接受OOP技术的再教育,并充分享受OOP带来的好处。我相信本书非常适合于这种需要。 与其他同类书籍不同的是,如果您已经掌握一种编程语言,或者以前有过其他方面的编程经验,我建议阅读本书时不要采用跳越章节的方式阅读。如果您熟悉符号表、lvalues、rvalues和Bucket Analogy,那当然很好——但是从不同的角度再读一遍也不无益处。记住,学习编程语言没有捷径。 本书内容简介 本书使用了一种非编程语言的方式来介绍面向对象编程。相应章节的目标是先提出一些概念,然后平滑地过渡到在C#中处理对象的方式。 全书将使用常见且容易理解的示例来介绍新的编程概念。其中涵盖了大部分C#编程语言的主题,然而仍然有少量相对不常见的主题没有包括进来。我觉得这些主题对手边的任务(即使用C#教导OOP)并不重要。当读者学习完本书后,应该能够编写自己设计的复杂OOP程序。 本书组织结构 本书的章节顺序就是我向新生授课的顺序。这种顺序具有逻辑意义,每一章构建在前面几章包含信息的基础上。虽然读者可以跳过一些章节,但我认为这样对学习无益。我有自己的解释概念的方式,有些方式与众不同,但它们确实有用。 每一章最后都有几道习题。希望读者在学习下一章之前先完成这些习题。前面提到过,可以只通过编写程序来学习编程。只是阅读容易使读者获得一种虚假的安全感,以为自己学会了。其实也许并没有学会。编写自己的程序是真正学会编程的唯一途径。 使用本书所需的软硬件 本书的所有示例都是用Visual Studio 2008的C# Express版本编写的。第1章说明了如何从Microsoft免费下载和安装C# Express。C# Express是一款非常出色的软件,几乎具有完整Visual Studio的大部分功能。虽然这个C# Express版本缺少一些优秀工具,但是用来练习使用Visual Studio和C#提供的大部分功能的工具已经足够。当您用了C#一段时间以后,可能就会购买完整的Visual Studio包。到时候您会发现那样做是值得的。 应该使用基于Pentium的系统(虽然竞争者也存在,比如Mac和Linux,而且它们似乎也能很好地工作),至少需要1GB内存和1GB(或更多)硬盘空间。满足这些需求以后,就可以使用您的系统开始学习本书。 源代码 在读者学习本书中的示例时,可以手工输入所有的代码,也可以使用本书附带的源代码文件。本书使用的所有源代码都可以从本书合作站点/或http://www.tupwk.com.cn/downpage上下载。登录到站点/,使用Search工具或使用书名列表就可以找到本书。接着单击本书细目页面上的Download Code链接,就可以获得所有的源代码。 注释: 由于许多图书的标题都很类似,所以按ISBN搜索是最简单的,本书英文版的ISBN是978-0-470-26129-3。 在下载了代码后,只需用自己喜欢的解压缩软件对它进行解压缩即可。另外,也可以进入/dynamic/books/download.aspx上的Wrox代码下载主页,查看本书和其他Wrox图书的所有代码。 勘误表 尽管我们已经尽了各种努力来保证文章或代码中不出现错误,但错误总是难免的。如果您在本书中找到了错误(例如拼写错误或代码错误),请告诉我们,我们将非常感激。通过勘误表,可以让其他读者避免受挫。当然,这还有助于我们提供更高质量的信息。 请给wkservice@vip.163.com发电子邮件,我们就会检查您的反馈信息,如果是正确的,我们将在本书的后续版本中采用。 要在网站上找到本书英文版的勘误表,可以登录,通过Search工具或书名列表查找本书,然后在本书的细目页面上,单击Book Errata链接。在这个页面上可以查看到Wrox编辑已确认并提交的所有勘误项。完整的图书列表还包括每本书的勘误表,网址是/misc-pages/booklist.shtml。 如果要与作者和同行讨论,请加入上的P2P论坛。这个论坛是一个基于Web的系统,便于您发布与Wrox图书相关的消息和相关技术,与其他读者和技术用户交流心得。该论坛提供了订阅功能,当论坛上有新的消息时,它可以给您发送感兴趣的话题。Wrox作者、编辑和其他业界专家和读者都会到这个论坛上来探讨问题。 在上,有许多不同的论坛,它们不仅有助于阅读本书,还有助于开发自己的应用程序。要加入论坛,可以遵循下面的步骤: (1) 进入,单击Register链接。 (2) 阅读使用协议,并单击Agree按扭。 (3) 填写加入该论坛所需要的信息和自己希望提供的其他信息,单击Submit按扭。 (4) 您会收到一封电子邮件,其中的信息描述了如何验证账户,完成加入过程。 注释: 不加入P2P也可以阅读论坛上的消息,但如果要发布自己的消息,就必须加入该论坛。 加入论坛后,就可以发布新消息,回复其他用户发布的消息。可以随时在Web上阅读消息。如果要让该网站给自己发送特定论坛中的消息,可以单击论坛列表中该论坛名旁边的Subscribe to this Forum图标。 关于使用Wrox P2P的更多信息,可阅读P2P FAQ,以了解论坛软件的工作情况以及P2P和Wrox图书的许多常见问题。要阅读FAQ,可以在任意P2P页面上单击FAQ链接。