图书前言

C#是由微软公司推出的完全面向对象的计算机高级语言。它简单、安全、灵活、功能强大,能够快速地开发各种应用软件。它解决了存在于许多程序设计语言中的问题,如安全问题、可靠性问题、与其他语言协调的能力、跨平台的兼容性等。相对于C++来说,C#更容易被理解和接受;相对于Java来说,C#更容易使用,开发软件的效率更高。C#既能用于开发传统的DOS应用程序、Windows应用程序和组件程序,还能用于开发Web应用程序、XML Web服务程序、WPF应用程序、WCF服务程序等,特别是它将Web技术、Silverlight动画编程技术、XNA游戏编程技术和Azure云平台技术紧密结合,使得它成为如今云计算时代的一种高效的程序设计语言。

本书在2012年2月发行了第1版,受到广大师生的欢迎。结合广大师生的反馈意见以及新的教学和应用开发经验,我们迅速组织编写了本教材第2版。第2版保持第1版的优点,基本思路不变: 第一,面向应用型本科院校学生,立足于把C#的语法讲透彻、讲清楚,文字叙述要简练;第二,紧紧围绕面向对象程序设计思想和可视化的Windows程序设计方法展开教学内容;第三,书中所有案例均精心设计,不仅代码完整,还贴近学生实际生活;第四,坚持零起点原则,学生可以在没有C/C++基础的情况下使用本书;第五,坚持应用为纲,全书分为基础篇和应用实战篇,特别在应用部分,全面展示了C#在各应用领域的编程技巧。

针对第1版,本书第2版在修订时,首先深入分析了C#程序设计的知识结构和技能结构,然后设计教学内容,使得全书的重点更加突出。在内容组织上,根据教学过程中的实际反馈,把比较难以理解的内容独立出来,把程序设计时实际上不常用的技术独立出来,从而使得全书的难点更加清晰。例如,针对类的方法成员和构造函数,第1版把方法的声明、调用、参数传递以及重载,构造函数的声明、调用和重载等集中安排,实际教学过程中发现学生越学越迷糊,因此第2版把相关内容拆分到4.3、4.4、4.5这三节中,先安排最简单的内容(即方法和构造函数的简单声明和调用),再介绍参数传递,最后讨论重载问题。这样,更有利于分层次教学。

同时,为了尽量避免对使用本书第1版的教师造成教学影响,第2版在修订时针对原来的教学案例或上机任务基本保持不变,当然新增了部分更加经典的案例。在每章的习题部分,为了能更有效地培养或提高学生的编程能力,因此增加了一些编程任务。针对复杂的编程任务,本书还给出了适当的提示信息。

本书第2版以Visual Studio .NET 2012和.NET Framework 4.5为蓝本,深入介绍了C#语言及其应用。全书共分为14章,基本上覆盖了C#的主要领域,在讲解C#语法的基础上,以面向对象的程序设计方法和基于事件的程序设计方法为核心,重点阐述Windows程序设计技术、数据库访问与编程技术、文件操作与编程技术、XML和LINQ高级数据访问技术、网络应用编程技术、多媒体编程技术等实用技术。

因此,经过修订,本书第2版具有以下三个特点: 第一,知识结构完整,根据循序渐进的认识规律设计编写内容及顺序,重点和难点突出;第二,提供了大量的案例,所有案例程序都是完整的,都是通过Visual Studio .NET 2012调试的,并给出了运行效果,针对部分复杂案例还进行了详细的分析,这样有助于读者理解程序算法;第三,全书配备了丰富的、符合教学实际的、能真正培养学生编程能力的编程任务和实训任务。

本书可作为高等院校Visual C# .NET课程的教材或参考资料,也可供软件开发人员参考使用。

本书入选电子科技大学成都学院CDIO教改项目,我们在软件工程专业的入门计算机语言教学中引入C#,经过实验取得了较好的教学效果。参与本书编写工作的有: 罗福强、杨剑、张敏辉和熊永福等。罗福强编写了第1、4、5、6、9和10章,杨剑编写了第2、3、7、8、11和12章,张敏辉编写了第14章,熊永福编写了第13章和所有上机实验。本书由罗福强负责全书统稿、修改和审校工作。本书在立项、教学实验和编写过程中得到国腾集团云计算研究中心主任兼电子科技大学成都学院云计算科学与技术系主任武志学博士的大力支持和帮助,特别是在教学内容、教学方法方面提供大量的指导意见。在此,我们对武主任表示真挚的感谢。

由于时间仓促,书中难免有不妥之处,殷切期望读者提出中肯的意见。

编者

2014年5月