图书前言

前言

C#(C Sharp,“#”读作Sharp,初学者容易误读为“井”)是微软公司推出的一种完全面向对象、简单易学、现代化的新型编程语言。经过几个版本的演化,C#的语法已然变成更加丰富和成熟,并且具有许多其他高级程序设计语言所不具备的特性,如LinQ、异步等待等。

C#与.NET Framework平台高度集成,也就是说,C#编写的应用程序必须依赖于.NET框架,并可以与如Visual Basic.NET、Visual C++.NET等语言编写的组件进行交互。.NET框架向开发者公开庞大的API库,以帮助开发人员快速构建强大的应用程序。

本书包含了哪些内容

本书的内容基于最新的C#版本(目前最新版本为6.0),主要论述了以下方面的内容: 

 关于C#与.NET的简单介绍; 

 开发环境Visual Studio的使用技巧; 

 C#语法基础与应用程序的一般结构剖析; 

 面向对象编程基础; 

 开发控制台应用程序; 

 数据类型转换与字符串的格式化处理; 

 简单的数学运算; 

 泛型与集合; 

 变体的应用; 

 调试、纠错与单元测试; 

 Lambda表达式与LinQ; 

 开发Windows窗体应用程序; 

 WPF基础知识与常用技术; 

 异步编程; 

 系统信息管理; 

 操作对目录、文件、流以及序列化技术; 

 访问数据库; 

 网络编程; 

 反射技术入门; 

 互操作性。

如何使用本书

本书采用通俗易懂的讲解风格,尽量避免出现晦涩难懂的描述与理论说教,降低入门者的理解难度。同时,书中针对每个知识点都附有简单的示例程序。读者在阅读本书的时候,可以先阅读每个知识点的说明,然后将附带的示例程序动手操作一遍。在完成书中示例代码后,读者应该运行一下应用程序,并观察程序代码的执行结果,然后思考一下为什么会得到这样的结果,不要做完示例就马上抛在脑后,而应当学会举一反三。

当读者了解书中的示例后,也可以进行“二次创作”,即适当地将示例代码进行修改,使其变成一个新的示例。如此一来,一个示例可以变成两个、三个,甚至更多的示例,读者从中也学会了如何灵活地去运用学到的知识。当然,该做法对于从未进行过任何程序开发的入门者而言会有些困难,刚开始的时候,读者可以抱着尝试的心态去做,不要在乎付出的劳动是否马上得到回报,“欲速则不达”,只要坚持不懈,一点一滴地积累和总结,相信每个有志于步入编程殿堂的读者都会收获颇丰。

在学习编写代码的过程中,读者不妨学会多问几个“为什么”,比如,这段代码为什么要先执行第1行,才能去执行第2行?如果把第1行代码与第2行代码调换后会发生什么?这个程序为什么要这样写?如果不这样写又会遇到哪些问题?……这种学习方法有助于帮助初学者形成清晰的思路,养成良好的编程习惯。因为程序代码都是人写的,它是人们事先安排好的一系列指令,交给计算机去执行,程序代码体现了人的主观意志,所以在编写代码的时候,思路非常重要。有了好的思路,并且在满足技术条件的情况下,才能开发出优秀的应用程序。若是思路不清晰,写出来的代码会非常混乱,将来维护起来也会十分艰难。

在本书的最后一章中,提供了两个综合示例,读者通过了解这两个示例的核心功能的实现过程,会初步认识到如何将各个知识点搭配运用,从而加深各个知识要点的印象。

本书适合我吗

本书内容侧重基础知识,适合以下读者对象: 

 希望通过自学走上编程之路却不具备基础知识的读者; 

 希望从其他编程语言转向.NET方向的读者; 

 对C#以及.NET相关技术感兴趣的任何读者; 

 可作为培训机构或高等院校开设.NET相关教学课程的参考教材。

学习本书内容,我能做什么

C#与.NET框架紧密结合,除了可以开发常见的控制台、Windows应用程序外,还可以用它来开发Web应用程序(如网站)、运行在移动设备上(如面向Windows 10设备)的应用程序。另外,通过开发环境附带的Xamarin及相关技术,还可以使用C#来开发运行在Windows、Android、iOS等移动终端上的应用程序。

勘误与支持

由于作者水平有限,而且编写本书的时间仓促,书中难免会有一些不妥之处,也可能出现错误和不准确的叙述,望读者朋友不吝指出和反馈。读者朋友可以通过以下途径与作者联系: 

电子邮件: csdev2012@foxmail.com

博客: http://www.cnblogs.com/tcjiaan

微博: http://weibo.com/tcjiaan

鸣谢

本书能够顺利完成,离不开所有亲朋好友们的鼓舞和支持。感谢众多网友所给予的肯定,也感谢清华大学出版社给了我一个写作的机会,感谢盛东亮编辑,在书稿的写作过程中给予了我极大的帮肋和支持。

作者2016年8月