译者序
C#是微软公司在2000年6月发布的一种新的编程语言,由Delphi语言的设计者Hejlsberg带领微软公司的开发团队开发,是一种安全的、稳定的、简单的、优雅的、由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时,去掉了它们的一些复杂特性(例如没有宏以及不允许多重继承)。C#综合了Visual Basic简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程支持,成为.NET开发的首选语言。
自.NET推出以来,大约每两年就推出一个新的主要版本。从.NET Core的特性可以看出,自.NET第1版以来,这个技术在.NET历史上给.NET带来的变化最大:
● .NET Framework要求把开发过程中使用的.NET运行库版本安装到目标系统上。而在.NET Core 1.0中,框架(包括运行库)是与应用程序一起交付的。即使更新运行库,也不影响现有的应用程序。
● Visual Studio 2013附带着C# 5和.NET Framework 4.5。.NET Framework 4.5很大,有20000多个类。只要添加新功能,.NET Framework就会变得越来越大。目前.NET Core的框架与.NET Framework 4.6一样巨大,但.NET Core 1.0以模块化的方法设计。该框架分成数量众多的NuGet包。根据应用程序决定需要什么包。
● NuGet包可以独立于.NET Framework发布,所以.NET Core可以很快更新,发布周期更短。
● .NET Core是开源的。
● .NET Core支持多个平台。新版本的.NET Core不仅运行在Windows上,还运行在Linux和Mac系统上。
● .NET Core可以编译为本地代码,得到更大的性能提升。
本书在第Ⅰ部分阐述C#语言的背景知识。首先介绍C#的基本语法和数据类型,再介绍C#的面向对象功能,之后是C#中的一些高级编程主题。第II部分首先介绍Visual Studio 2015,接着论述C# 6新增的.NET编译器平台、应用程序的测试,之后介绍了独立于应用程序类型的.NET Core和Windows运行库主题。第III部分的主题是构建应用程序与XAML——Universal Windows应用程序和WPF。先介绍XAML的基础,给基于XAML的应用程序指定样式,再关注MVVM(Model-View-View Model)模式。在UWP应用程序和WPF应用程序的介绍性章节后,有两章的内容讨论UWP应用程序的具体特征,另外两章讨论WPF应用程序。本部分的最后,使用ClickOnce部署WPF应用程序。第IV部分阐述Web应用程序和服务,还包含关于ADO.NET的两章。先论述了ADO.NET和Entity Framework,接着介绍如何创建自己的Windows服务,然后学习ASP.NET的新版本ASP.NET Core 1.0,以及ASP.NET MVC 6的特点。接下来讨论ASP.NET Web API,使用ASP.NET技术WebHooks和SignalR的形式发布和订阅Web应用程序,这部分的最后讨论部署。
本书对上一版做了全面更新,使C#代码适用于最新版本的.NET Core 1.0。本书由.NET专家Christian Nagel编写,书中包含开发人员使用C#所需要的所有内容。本书适合希望提高编程技巧、有经验的C#程序员使用,也适用于刚开始使用C#的专业开发人员。
在这里要感谢清华大学出版社的编辑们,他们为本书的出版投入了巨大的热情并付出了很多心血。没有他们的帮助和鼓励,本书不可能顺利付梓。本书全部章节由李铭翻译、黄静审校。参与本书翻译的还有孔祥亮、陈跃华、杜思明、熊晓磊、曹汉鸣、陶晓云、王通、方峻、李小凤、曹晓松、蒋晓冬、邱培强、洪妍、李亮辉、高娟妮、曹小震、陈笑。在此,一并表示感谢!
对于这本经典之作,译者在翻译过程中力求忠于原文,做到“信、达、雅”,但是鉴于译者水平有限,错误和失误在所难免。如有任何意见和建议,请不吝指正,感激不尽!
译者