歡迎光臨
每天分享高質量文章

.NET Core 3 Preview 2發佈,C#8更強大的樣式匹配

.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

赞(0)

分享創造快樂