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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM