本書講解了Visual Studio 2015、.NET Core 1.0、ASP.NET MVC、Universal Windows Platform、WPF的最新變化。每一章都提供了清晰的解釋、下載的代碼,并從專家的角度提供了有價值的視野。
對于開發人員,把C#語言和.NET描述為*重要的新技術一點都不夸張。.NET提供了一種環境。在這種環境中,可以開發在Windows上運行的幾乎所有應用程序。在Windows上運行的是.NET Framework以前的版本,新版本.NET Core 1.0不僅在Windows上運行,還在Linux和Mac系統上運行。C#是專門用于.NET的編程語言。
對于開發人員,把C#語言和.NET描述為*重要的新技術一點都不夸張。.NET提供了一種環境。在這種環境中,可以開發在Windows上運行的幾乎所有應用程序。在Windows上運行的是.NET Framework以前的版本,新版本.NET Core 1.0不僅在Windows上運行,還在Linux和Mac系統上運行。C#是專門用于.NET的編程語言。例如,使用C#可以編寫Web頁面、Windows Presentation Foundation(WPF)應用程序、REST Web服務、分布式應用程序的組件、數據庫訪問組件、傳統的Windows桌面應用程序,以及可以聯機/脫機運行的Universal Windows Platform (UWP)應用程序。本書介紹.NET Core 1.0和完整的.NET Framework,即.NET Framework 4.6。如果讀者使用以前的版本編寫代碼,本書的一些章節就不適用。
在可能的情況下,本書的示例都使用了.NET Core 1.0。本書的代碼在Windows系統上創建,但也可以在其他平臺上運行。可能需要對示例進行較小的改變,才能使它們在Linux上運行。閱讀第1章可以了解如何構建用于Linux平臺的應用程序,什么程序不能在Linux上運行?WPF應用程序仍然需要完整的.NET Framework,僅在Windows上運行。UWP應用程序使用.NET Core,但還需要Windows運行庫。這些應用程序也需要Windows。這些UI技術都包含在本書的第Ⅲ部分中。
那么,.NET和C#有什么優點?
0.1 .NET Core的重要性
為了理解.NET Core的重要性,就一定要考慮.NET Framework。.NET Framework 1.0在2002年發布,此后大約每兩年就推出一個新的主要版本。Visual Studio 2013附帶著C# 5和.NET 4.5。
.NET Framework 4.5十分巨大,有20 000多個類。
這個巨大的框架有什么問題?.NET Core是如何解決的?
對于新的開發人員來說,掌握這個巨大的框架并不容易。其中保留了舊應用程序很重要的許多內容,但它們對新的應用程序并不重要。對于有經驗的開發人員來說,在這些技術中選擇一個*好的是不容易的。必須為Web應用程序選擇使用ASP.NET Web Forms還是ASP.NET MVC,為客戶端應用程序選擇使用Windows Forms和WPF還是Universal Windows Platform,為數據訪問選擇Entity Framework還是LINQ to SQL,為存儲集合選擇使用Array List還是List。這對于一些有經驗的開發人員而言,選擇是顯而易見的,但對于大多數開發人員來說,選擇并不是那么容易。剛開始接觸.NET的開發人員就更困難了。
.NET Core基于較小的單元—— 小型NuGet包。Console類只用于控制臺應用程序。在
.NET Framework中,Console類可用于mscorlib,mscorlib是每個.NET應用程序都引用的程序集。使用.NET Core,必須顯式地決定使用NuGet包System.Console;否則,Console類就不可用。
Christian Nagel,是微軟開發技術代言人(Microsoft Regional Director)、Visual Studio和開發技術方向的微軟MVP、軟件架構師、資深開發人員(2000年就開始用.NET
技術建立解決方案) 。他編著過多本.NET圖書,經常在TechEd和TechDays等國際會議上發言,并支持.NET用戶組。Christian是微軟認證培訓師(MCT),也是Universal Windows apps和ASP.NET方向的微軟認證開發專家(MCPD)。
第Ⅰ部分 C# 語 言
第1章 .NET應用程序體系結構 2
1.1 選擇技術 2
1.2 回顧.NET歷史 3
1.2.1 C# 1.0 —— 一種新語言 3
1.2.2 帶有泛型的C# 2和.NET 2 5
1.2.3 .NET 3.0—— Windows
Presentation Foundation 5
1.2.4 C# 3和.NET 3.5—— LINQ 5
1.2.5 C# 4和.NET 4.0—— dynamic
和TPL 6
1.2.6 C# 5和異步編程 6
1.2.7 C# 6和.NET Core 7
1.2.8 選擇技術,繼續前進 8
1.3 .NET 2015 8
1.3.1 .NET Framework 4.6 9
1.3.2 .NET Core 1.0 10
1.3.3 程序集 11
1.3.4 NuGet 包 12
1.3.5 公共語言運行庫 13
1.3.6 .NET Native 14
1.3.7 Windows 運行庫 14
1.4 Hello, World 15
1.5 用.NET 4.6編譯 16
1.6 用.NET Core CLI編譯 17
1.6.1 設置環境 18
1.6.2 構建應用程序 18
1.6.3 打包和發布應用程序 21
1.7 應用程序類型和技術 22
1.7.1 數據訪問 22
1.7.2 Windows桌面應用程序 23
1.7.3 UWP 24
1.7.4 SOAP服務和WCF 24
1.7.5 Web服務和ASP.NET Web
API 24
1.7.6 WebHooks和SignalR 25
1.7.7 Windows服務 25
1.7.8 Web應用程序 25
1.7.9 Microsoft Azure 26
1.8 開發工具 27
1.8.1 Visual Studio Community 27
1.8.2 Visual Studio Professional with
MSDN 27
1.8.3 Visual Studio Enterprise with
MSDN 27
1.8.4 Visual Studio Code 28
1.9 小結 28
第2章 核心C# 29
2.1 C#基礎 30
2.2 用Visual Studio創建Hello,
World! 30
2.2.1 創建解決方案 30
2.2.2 創建新項目 31
2.2.3 編譯和運行程序 33
2.2.4 代碼的詳細介紹 35
2.3 變量 36
2.3.1 初始化變量 37
2.3.2 類型推斷 38
2.3.3 變量的作用域 39
2.3.4 常量 41
2.4 預定義數據類型 41
2.4.1 值類型和引用類型 42
2.4.2 .NET類型 43
2.4.3 預定義的值類型 43
2.4.4 預定義的引用類型 46
2.5 程序流控制 48
2.5.1 條件語句 48
2.5.2 循環 51
2.5.3 跳轉語句 55
2.6 枚舉 55
2.7 名稱空間 57