您的位置:首页 > 编程语言 > C#

.NET Core 3 Preview 2发布,C#8更强大的模式匹配

2019-02-01 07:00 477 查看

.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

原文地址:https://www.oschina.net/news/104076/dot-net-core-3-preview-2-released

.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: