图书前言

前言

C#作为.NET Framework下的首选语言,是一种简洁优雅、多用途、面向对象的现代化语言,它兼具C语言的语法特征、Visual Basic的快速开发特征、Java的虚拟机运行特征,可谓集百家之长。

目前开设.NET相关课程的高校越来越多,相关的课程主要涉及如下几个方面: C#面向对象程序设计、.NET Framework程序设计、WinForm应用开发、ASP.NET Web应用开发、WPF程序设计、Silverlight开发、Windows Phone开发、.NET下的数据库应用开发等。

虽然目前市面上关于C#的教材很多,不过在我们近几年的教学过程中,却发现这些教材或多或少存在一些缺陷和不足之处,总结如下: 

(1) 内容陈旧。有些教材在内容安排上过于陈旧,仍然只讲C#2.0的知识。

(2) 讲解方法不合理。有的教材在讲解C#的基础知识时,大量使用庞大的示例,动辄好几页的代码; 而有的教材则喜欢使用数据结构的知识来讲解C#的基础知识。我们认为,目前有一部分学生(包括很多IT从业人员),数据结构方面的知识并没完全理解,在这种情况下,使用数据结构的例子来讲解C#新的基础知识,对学生无疑是雪上加霜。这样容易导致学生学习重点转移,甚至有可能打击学生的学习兴趣。

(3) 讲解抽象或者死板。不少教材讲解太抽象,讲解多而实例少,学生学习效果不佳。有的教材甚至从MSDN上复制不少内容,虽然MSDN的内容权威,但是MSDN上的很多叙述拗口、让人费解。

(4) 概念性错误。少数教材在基本概念性知识方面存在错误,如DateTime、TimeSpan是典型的结构,好几套教材都称之为类,这样基本性的错误容易误导学生对这两种数据类型的理解。

(5) 示例多、讲解少。有些教材或者书籍,具有大量的示例,但却缺少基础的讲解,仅仅只是大量示例的罗列而已,缺少对本质内容的讲解,学生也因此理解不到位,最终只会些花招而内功不足。这些书籍可以作为教材的有益补充,用作课后练习之用。

鉴于以上一些原因,我们编著了本书。本书以通俗易懂的语言、生动有趣的示例来讲解C#多方面的知识,内容安排兼顾广度、深度,紧跟C#发展动向,知识新颖,内容丰富。本书代码开发工具使用Visual Studio 2015,内容既囊括了数据类型、运算符、程序控制、数组、字符串等传统内容,还涵盖了面向对象、Windows Form程序设计、文件、集合、泛型、GDI+、多线程、序列化、SQL、ADO.NET、实用类库等。

本书具有如下特点: 

(1) 语言通俗易懂。在写作本书的过程中,在内容的讲解上力求通俗易懂,但这样做的风险很大。因为通俗易懂往往和精确是一对矛盾。虽然从MSDN复制内容过来既轻松又权威,不用担心出错,不过如果这样,也就没必要写这本书了。我们的目的,就是在尽量保证准确的前提下,把知识讲解得易懂。

(2) 示例简短精炼。我们认为,学习新知识时,不是缺少长篇累牍的代码,而是缺少针对性强的精炼小示例。全书配套大量精选示例,帮助读者理解所学知识。

(3) 示例融知识性和趣味性于一体。本书中很多的示例、思考与练习、实战任务等都来自于我们长期的教学积累,不少示例生动、有趣而又具有实用价值,学生在学习的过程中不会感到编程枯燥无趣,当经过认真思考并动手实践得到正确结果后,会充满成就感而觉得用C#编程其乐无穷。

(4) 内容新颖全面。除了上述所讲的内容外,细节知识方面涉及到隐式类型变量、匿名方法、Lambda表达式、可空类型、字符编码、扩展方法、Tuple、图像算法及应用、压缩解压等诸多新颖或实用的知识,还融入了不少编程经验体会。

(5) 重点、难点突出。本书内容全面充实,重点、难点突出,如对面向对象花了大篇幅进行全面细致的讲解,这是整个课程体系的基础核心所在。

(6) 思考练习层层递进,注重梯度。练习方面,也是分层递进,注重梯度,按课堂练习→课堂思考→课后思考与练习→实战任务,逐层深入,难度逐步提升,符合一般的学习规律,逐步加强学习效果。

(7) 问答环节设计。在每章都安排了问与答环节,讲解了一些容易混淆的问题或者扩展一些课堂内的知识,为学有余力的读者开了一扇扇去学习更多知识的窗口。

最后提及一下教材的使用。对于课时较少的院校,可以上学期安排第1~7章的授课内容,而下学期安排第8~15章的内容。对于多课时的院校,则可以根据自身情况选择需要的章节学习。

本书可以用作下述课程的教材: 

 C#面向对象程序设计。

 .NET Framework程序设计。

 WinForm应用开发。

 .NET下的数据库应用开发。

另外也可以作为如下课程的入门教材: 

 ADO.NET入门。

 SQL入门。

 多线程入门。

 GDI+入门。

限于时间精力和水平,书中难免存在诸多值得推敲的地方,甚至会有内容的疏漏和错误。各位专家、老师和读者在使用过程中,如果发现任何问题,欢迎不吝赐教。联系邮箱: xmwung@sina.com,gujone@163.com。

感谢诸多领导、老师的指导与鼓励支持,也感谢在教材使用过程中为本书提出建议的所有学生和老师。

编者

2016年7月