.NET Core 3 Preview 2 釋出了,此版本主要帶來了 C# 8 相關的新功能,C# 8 Preview 2 是 .NET Core 3 SDK 的一部分。
C# 8 中使用樣式進行更多操作,主要特性包括:
using 宣告
改變需要縮排程式碼的方式,現在可以編寫以下程式碼,該程式碼將 using 宣告附加到當前陳述句塊的範圍,然後將該物件放在其末尾。
static void Main (string[] args) { using var options = Parse (args); if (options["verbose"]) { WriteLine ("Logging..."); } } // options disposed here
switch 運算式
C# 8 引入了 switch 運算式,它支援更簡潔的語法,因為它是一個運算式,所以會傳回一個值,並完全整合在樣式匹配中。
switch 關鍵字是 “infix”,用法 demo:
static string Display (object o) => o switch{ Point { X: 0, Y: 0 } => "origin", Point { X: var x, Y: var y } => $"({x}, {y})", _ => "unknown"};
或者:
static State ChangeState (State current, Transition transition, bool hasKey) => (current, transition) switch { (Opened, Close) => Closed, (Closed, Open) => Opened, (Closed, Lock) when hasKey => Locked, (Locked, Unlock) when hasKey => Closed, _ => throw new InvalidOperationException ($"Invalid transition") };
非同步流
非同步流是 C# 8 的另一個主要改進,它需要編譯器和框架庫匹配才能正常工作。如果要使用 Visual Studio 2019 Preview 2 或 Visual Studio Code 的 C# 擴充套件的最新預覽版進行開發,則需要 .NET Core 3.0 Preview 2 才能使用非同步流。
除了 C# 8 相關變化,還包括以下更新內容:
- IEEE 浮點改進
- .NET 平臺依賴內在函式的改進
- 引入了一個新的快速 JSON Writer & JSON 檔案
- GPIO 支援 Raspberry Pi
- Assembly unloadability
- Windows 原生互操作
詳情檢視釋出公告。
下載地址:https://dotnet.microsoft.com/download/dotnet-core/3.0