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/html

該書的中文版《C#高級編程(第11版) - C# 7 & .NET Core 2.0》(李銘譯)由清華出版社於2019年出版,在各大電子商城有售。git

事實上ECMA經過的C#標準還停留在C# 5.0,所以筆者選擇學習這本C# 7.0的英文電子書。github

本系列文章寫做時的環境以下:正則表達式

  • 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編程

相關文章
相關標籤/搜索