C# 8.0和.NET Core 3.0的新内容有哪些?
有些C#书籍长达数千页,旨在全面介绍C#编程语言和.NETFramework。
《C# 8.0和.NET Core 3.0高级编程(第4版)》与众不同。《C# 8.0和.NET Core 3.0高级编程(第4版)》简洁明快、行文流畅,每个主题都配有实际动手演练项目。进行总体叙述的广度是以牺牲一定深度为代价的,但如果愿意,你就会发现许多主题都值得进一步探索。《C# 8.0和.NET Core 3.0高级编程(第4版)》也是一份循序渐进的指南,可用于通过跨平台.NET学习现代C#实践,并简要介绍可以使用它们构建的主要应用程序类型。《C# 8.0和.NET Core 3.0高级编程(第4版)》最适合C#和.NET初学者阅读,也适合学过C#但感觉在过去几年自身技术落后的程序员阅读。
《C# 8.0和.NET Core 3.0高级编程(第4版)》将指出C#和.NET的一些优缺点,这样就可以给人留下深刻的印象,并快速提高工作效率。《C# 8.0和.NET Core 3.0高级编程(第4版)》的解释不会事无巨细,以免因放慢速度导致读者感到无聊,而是假设读者足够聪明,能够自行对一些初中级程序员需要了解的主题进行解释。
《C# 8.0和.NET Core 3.0高级编程(第4版)》内容
第1章介绍如何设置开发环境,并通过C#和.NET,使用Visual Studio Code创建最简单的应用程序。通过学习本章,你将了解如何在任何受支持的操作系统(Windows、macOS和Linux发布版)中编写和编译代码,并了解寻求帮助的最佳地点。
第2章介绍C#的版本,并通过一些表介绍各个版本的新特性,然后解释C#日常用来为应用程序编写源代码的语法和词汇。特别是,你在本章将学习如何声明和处理不同类型的变量,以及C# 8.0中引入可空引用类型后带来的巨大变化。
第3章讨论如何使用操作符对变量执行简单的操作,包括比较、编写决策以及重复语句块和类型之间的转换。该章还介绍了在不可避免地发生错误时,如何编写防御性代码来处理这些错误。
第4章阐述如何编写可重用函数以遵循“不要重复自己(Don’t Repeat Yourself,DRY)”原则。你将学习使用调试工具来跟踪和删除bug,在执行代码时监视代码以诊断问题,以及在将代码部署到生产环境之前严格测试代码,以删除bug并确保稳定性和可靠性。
第5章讨论类可以拥有的所有不同类别的成员,包括存储数据的字段和执行操作的方法。该章将不可避免地涉及面向对象编程(Object-Oriented Programming,OOP)概念,如聚合和封装。你将学习一些语言特性,比如元组语法支持和out变量,以及默认的字面值和推断出的元组名称。
第6章解释如何使用面向对象编程(OOP)从现有类派生出新的类。你将学习如何定义操作符、本地函数、委托和事件,如何实现关于基类和派生类的接口,如何覆盖类型成员以及使用多态性,如何创建扩展方法,以及如何在继承层次结构中的类之间进行转换。
第7章介绍.NET Core的版本,并给出了一些表来说明哪些版本引入了一些新特性,然后介绍与.NET标准兼容的.NET Core类型以及它们与C#的关系。你将学习如何部署和打包自己的应用程序和库。
第8章讨论允许代码执行的实际任务的类型,例如操作数字和文本、在集合中存储对象以及实现国际化。
第9章讨论与文件系统的交互、对文件和流的读写、文本编码以及诸如JSON和XML的序列化格式。
第10章探讨如何使用加密方法来保护数据不被恶意用户查看,使用哈希和签名防止数据被操纵或破坏。你将了解如何通过身份验证和授权来保护应用程序免受未授权用户的攻击。
第11章解释如何使用对象关系映射(ObjectRelational Mapping,ORM)来读写数据库,如MicrosoftSQL Server和SQLite。
第12章学习语言集成查询(LINQ)——LINQ扩展语言增加了处理项目序列、筛选、排序以及将它们投影到不同输出的能力。
第13章讨论如何通过允许多个动作同时发生来提高性能、可伸缩性和用户生产力。你将了解async Main 特性以及如何使用System.Diagnostics名称空间中的类型来监视代码,以度量性能和效率。
第14章介绍可以使用C# 和.NET构建的跨平台应用程序的类型。
第15章介绍在服务器端通过ASP.NETCore使用现代HTTP架构构建网站的基础知识。你将学习如何实现ASP.NET Core特性(称为Razor页面),从而简化为小型网站创建动态网页的过程。
第16章讨论程序员团队如何利用ASP.NETCore MVC以一种易于进行单元测试和管理的方式构建大型、复杂的网站。你将了解启动配置、身份验证、路由、模型、视图和控制器。
第17章解释Web内容管理系统(Content Management System,CMS)如何使开发人员能够使用可定制的用户界面快速构建网站,非技术用户可以使用这一用户界面创建和管理自己的内容。你将构建一个简单的、基于.NET Core的开源网站,并将之命名为Piranha CMS。
第18章解释如何使用ASP.NETCore Web API构建后端REST体系结构Web服务,以及如何使用工厂实例化的HTTP客户端正确地使用它们。
第19章介绍ML.NET开源包中的机器学习算法,这些机器学习算法可用于把自适应智能嵌入任何跨平台的.NET应用程序,比如电子商务网站,从而为游客推荐能够添加到购物车中的商品。
第20和21章介绍使用跨平台.NET Core和Visual Studio Code 所能实现的主题。其中,第20章介绍.NET Core 3.0及其Windows桌面包如何使Windows窗体和WPF应用程序在.NET Core上运行时受益,还将介绍XAML的基础知识,从而为WindowsPresentation Foundation (WPF)或Universal Windows Platform (UWP)图形应用程序定义用户界面。你将应用Fluent设计的原则和特性来点亮UWP应用程序。该章的应用程序必须使用Windows 10中的Visual Studio 2019来构建。第21章通过为iOS和Android构建跨平台的应用程序来介绍C# mobile。该章的应用程序需要在macOS上使用Visual Studio 2019来构建。
要做的准备工作
你可以在许多平台上使用Visual Studio Code 开发和部署C#和.NET应用程序,包括Windows、macOS和各种Linux发行版。拥有支持VisualStudio Code 和互联网连接的操作系统是学习第1~19章所必需的。
另外,第20章需要使用Windows10来构建应用程序,第21章需要使用macOS来构建应用程序,拥有macOS和Xcode是编译iOS应用程序的必要条件。
在线资源
可从GitHub存储库(https://github.com/markjprice/cs8dotnetcore3)下载《C# 8.0和.NET Core 3.0高级编程(第4版)》涉及的任务和练习的解决方案。另外,书中的一些截图用彩色效果可能最佳,因为这样有助于你更好地理解输出中的变化。为此,我们专门制作了一份PDF文件。读者可使用手机扫描封底的二维码来下载以上所有资源。
想了解更多关于《C# 8.0和.NET Core 3.0高级编程(第4版)》的内容,请点击“阅读原文”