首页 / 微软技术 / .NET / .NET Core 3 Preview 2发布,C#8更强大的模式匹配
.NET Core 2.1

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

英文原文:Announcing .NET Core 3 Preview 2

.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



About worksguo

我顶的是太阳,蓝天都在我脚下。我是软件开发者,信息化专家,电子商务专家,金融学者,创业人。长期关注微软技术!

Check Also

.NET Core

微软发布 .NET Core 2.0 Preview 1

这是 .NET Core 2.0 的首次公开亮相,相比之前的版本它有很大的改进。你可以使用 Visual Studio 2017 Preview 15.3, Visual Studio for Mac 或者 VS Code 开发 .NET Core 2.0 应用程序。微软同时也发布了 ASP.NET Core 2.0 Preview 1 。

.NET

.NET Framework 4.7改进了WPF和WinForms

Microsoft 新发布的 .NET Framework 4.7 中绑定了一些更新,各部分协同构成了更好的整体架构。.NET Framework 4.7 是与 Windows 10 Creator Update 一并联合发布的,着重于对 UI 的提升、对加密支持改进以及常规性能提升。Microsoft 的 Rich Lander 在宣布本次公告时指出,当前 .NET Framework 4.7 已支持.NET Standard 1.6,今年稍后交付的版本将会支持.NET Standard 2.0。


x

更多推荐

黄海对大秦之水的实战分析

.NET Core 3 Preview 2 发布了,此版本主要带来了 C# 8 相关的新功能,C# 8 Preview 2 是 .NET Core 3 SDK 的一部分

微软加入OpenChain 致力于开源合规性的标准化工作
近年来,微软积极拥抱开源社区,并且成为了其中重要的一员(比如 Linux 基金会)。近日,这家软件巨头又宣布,他们已经以白金会员的身份、加入了 OpenChain 项目。OpenChain 致力于让组织的开源许可合规性,变得更加简单和一致。作为项目成员之一的微软,将积极参与开源软件合规性标...
Microsoft Steams平台整合Forms:增强视频互动性提升学习效果

.NET Core 3 Preview 2 发布了,此版本主要带来了 C# 8 相关的新功能,C# 8 Preview 2 是 .NET Core 3 SDK 的一部分

powered by RelatedPosts