C#高级编程第11版

文章导航






前言

.NET CORE 世界

  • .NET Core是一个较新的概念,.NET Core 2.0.NET Framework那继承了很多API以便将现有的.NET Framework应用迁移到.NET Core上。
  • 你可以按照.NET Standard 2.0创建应用环境来迁移现有应用,该标准包括.NET Framework 4.6.1.NET Core 2.0应用程序和Windows apps(Build 16299)。
  • 更多.NET Standard相关的内容请阅读 .NET Standard 指南

.NET Standard

  • 虽然ASP.NET Core MVC跟它的兄弟ASP.NET MVC很像,但它更容易扩展。你可以使用新技术Razor Pages来创建新的Web应用程序,当你的项目变的越来越大时,Razor Pages可以轻松地基于MVC模式进行扩展。
  • 在本书写作时,一项基于.NET Core的实时通讯技术SignalR,正准备发布。
  • ASP.NET CoreJavascript框架(如AngularReact/Redux)有很好的集成度。Visual Studio提供了很多模板(Templates),可以直接创建集成这些JS框架的ASP.NET Core项目,方便后台服务(backend services)开发。
  • 总而言之,.NET Core是一个开源的、使用最新的设计理念、支持跨平台并且开发的应用可以直接在Windows和Linux上运行的新技术。

C# 世界

  • C#最早是在2002年发布的,用来开发.NET Framework应用程序的一种语言,一开始只是想开发一版 Microsoft 的Java,在正式命名为C#之前,它叫J++。
  • 最早C#并不仅仅是按照面向对象的通用开发语言来设计的,它更多考虑的是面向组件编程。随着时代的发展,C#开始支持越来越多的语法特性,并逐渐支持函数式编程。
  • C# 6.0的时候,编译器源代码被重写了一遍,新的编译器可以适用更广泛的定制软件开发,而且不容易崩溃。
  • 得益于新写的编译器,C# 7.0加入了很多新的函数式编程的特性,如元组(tuples)、模式匹配(pattern matching)等。

C# 7.0 新特性

ASP.NET CORE 新特性

  • csproj文件被重新设计成同时支持.NET Framework.NET Core,以便用户可以轻松的切换编译环境。和预览版不同的是,它被尽可能的精简了,所以你只要使用一个普通的文本编辑器就能简单的修改它。
  • 创建一个ASP.NET Core项目的时候,不单单csproj文件被简化了,C# 源代码也同样被精简了。例如当你使用默认的WebHostBuilder的时候,很多代码都预先定义并且生成好了,配置和日志管理也不用你手工添加。
  • 新的Razor Pages也很容易上手,有些应用软件并不需要抽象成MVC模型,就可以直接使用Razor Pages来完成。

UWP(UNIVERSAL WINDOWS PLATFORM) 新特性

  • 通常用户Windows10系统版本一年会更新两次,本书写作的时候更新到了build 16299, October 2017
  • 微软一直致力于提供新的系统设计特性并将其整合到Windows控件库中。此时最新的特性是流畅设计体系(Fluent Design),该体系共有五大核心元素,包括Light(光感)、Depth(深度)、Motion(动画)、Material(材质)和 Scale(缩放) 。它整合在标准控件库中,也允许直接调用——比如通过Acrylic或者Reveal特效的brushes。为了提供视差效果,ParallaxView控件也被添加到应用中。
  • 用户同样可以使用Windows Template Studio,Visual Studio的一个扩展,它为用户提供了一个模版编辑器,内置了许多页面和预生成的服务。
  • InkCanvas控件提供了新的方式以便你能更容易的将这些特效集成到你的应用中。NavigationView则让创建自适应(adaptive)的菜单更加的容易——通过一个hamburger按钮和SplitView的配合使用。
  • 更详细的内容在本书的正文中介绍。

C# 代码工具

  • .NET Core可以在Windows,Linux或者Mac系统上运行,你可以在任何一个操作系统上安装Visual Studio Code进行开发。
  • 更推荐使用的开发工具是Visual Studio,本书写作的时候是Visual Studio 2017,而本文写作的时候,最新的是Visual Studio 2019 v16.5版本。你可以使用社区版本,但很多功能特性只有专业版和企业版才提供。
  • VS2017可以安装在Windows 10 build 1507+,Windows 8.1, Windows Server 2012 R2, 或者 Windows 7 SP1上。如果你想使用本书提供的UWP特性,则需要安装Windows 10操作系统。
  • 如果你想用Xamarin创建一个IOS应用,可能你需要一台苹果工作站。不过就算没有Mac系统,你依然可以通过Xamarin创建适用于Windows和Android 的App。
  • 微软提供了一个Mac专用的Visual Studio版本,可以使用这个版本在Mac工作站上开发ASP.NET CoreXamarin apps,但需要注意的是它无法创建和测试Windows apps。

本书内容

  • 第一部分 The C# Language,包括Chapter 1 - Chapter 18。
  • 第二部分 .Net Core and Windows Runtime,包括Chapter 19 - Chapter29。
  • 第三部分 Web Applications and Services,包括Chapter30 - Chapter32。
  • 第四部分 Apps,包括Chapter33 - Chapter37。

源代码

GITHUB

勘误

个人声明

本系列文章写作于2020年2月29日,此时C# 8.0和.NET Core 3.1早已发布,而《Professional C# 7 and .NET Core 2.0》只是笔者此时能找到的最新版本的电子书,想获得更多的一手资讯,你可以阅读作者博客:https://csharp.christiannagel.com/

该书的中文版《C#高级编程(第11版) - C# 7 & .NET Core 2.0》(李铭译)由清华出版社于2019年出版,在各大电子商城有售。

事实上ECMA通过的C#标准还停留在C# 5.0,因此笔者选择学习这本C# 7.0的英文电子书。

本系列文章写作时的环境如下:

  • C# 8.0CLR4.NET Framework 4.8.NET Core 3.1Windows 10 build 18363Visual Studio 2019 v16.5
  • 本系列文章主要基于《C#高级编程第11版 - Professional C# 7.0 and .NET Core 2.0》进行翻译学习。
  • 尽量补全相关知识点到2020年已经发布的版本,并且补充以往版本的书籍涉及到的.NET旧技术的翻译(譬如本书未提及的WPF知识,在最后通过翻阅英文版的C#高级编程第10版,进行补全)。
  • 翻译的过程尽量与自己多年的开发经验进行验证,但难免因为学艺不精或者校对疏漏有些贻笑大方的情况,还望有空的读者不吝指正。
  • 一般来说需要3-4天才能完成一章的翻译、校对,补充更多的示例代码,预计本次翻译需要3-4个月的时间,到6月底结束。

资料下载

Github:C# Professional 7 and .NET Core 2.0.pdf + Source Code + Bonus Chapter 01-05

原文地址:https://www.cnblogs.com/zenronphy/p/ProfessionalCSharp7.html