.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

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

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


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/317422.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CF407 E. k-d-sequence(线段树+单调栈)

文章目录CF407 E. k-d-sequenceproblemsolutioncodeCF407 E. k-d-sequence problem solution special case,d0d0d0,相当于寻找最长的一段数字相同的区间 other case,如果要满足公差为ddd等差序列 区间内每个数在模ddd意义下同余每个数互不…

D. Binary Literature

D. Binary Literature 题意: 给三个长度为2 * n的01串,让你构造一个长度小于3 * n的字符串,使得这个串至少包含两个01串 题解: 很巧妙的构造题 三个指针分别指向三个串,因为是01串,所以一定存在两个字符…

安逸:鼠绘《诗与远方》

【作品名称】《诗与远方》【作者介绍】徐安(笔名安逸,常州),PPT专家,鼠绘专家。平面设计专业,6年PPT设计经验;历届江苏省PPT制作大赛一等奖获得者,PA口袋动画重要合作人。PPT动画制作…

[HNOI2016]网络(树链剖分+线段树+大根堆)

[HNOI2016]网络 problem solution 另辟蹊径,不把交互请求赋在新增路径上,反而把交互请求赋在树上除去该请求路径覆盖点的其它点上 显然,路径问题树剖是非常可以的、 那么一个点上的信息就表示所有不经过该点的交互请求,用堆…

IdentityServer4实战 - JWT Token Issuer 详解

一.前言本文为系列补坑之作,拖了许久决定先把坑填完。下文演示所用代码采用的 IdentityServer4 版本为 2.3.0,由于时间推移可能以后的版本会有一些改动,请参考查看,文末附上Demo代码。本文所诉Token如无特殊说明皆为 JWT Token。众…

P3834 【模板】可持久化线段树 2(整体二分做法)

P3834 【模板】可持久化线段树 2(主席树) 我们详细讲讲这个整体二分如何求区间第k小 我们都知道二分可以求出区间里某个想要的值,如果有很多询问,我们对每个询问都进行二分,复杂度就是O(QNlog(1e9))铁超,那…

胡浩:人人能学的AI《从零开始机器学习》苏州.NET俱乐部课程分享

【课程名称】《从零开始机器学XI》【老师介绍】胡浩,微软最有价值专家(MVP,十余届多方向),微软技术大会讲师。云、数据中心基础架构、全栈虚拟化、企业移动管理等领域的架构师及顾问。AI/ML等新技术的爱好者&#xff0…

IdentityServer4实战 - 与API单项目整合

一.前言我们在实际使用 IdentityServer4 的时候,可能会在使用 IdentityServer4 项目添加一些API,比如 找回密码、用户注册、修改用户资料等,这些API与IdentityServer4怎么共存在一个项目呢?二.整合1.首先在 Startup.cs 中添加 Ide…

[HDU 6157]The Karting(DP)

[HDU 6157]The Karting description solution 先用前缀和求出di:1→id_i:1\rightarrow idi​:1→i 的距离 前缀和满足:若在iii点进行方向改变,则iii产生的贡献是一定的,可以先累计贡献 也就是说真正的路径怎么走,我们是不关心…

.NET 开源简史

现在在微软开发开源软件是很一件正常的事情——但在 2007 年,当时我刚加入微软,那时候可不是这么一回事。微软花了好几年时间才找到正确的方向,让微软这艘大船顺着开源之风向前航行。现在回头远望过去那些曾经面临的挑战,我们一笑…

P2617 Dynamic Rankings(整体二分)

P2617 Dynamic Rankings 题意: 待修改的区间最值问题 题解: 整体二分天然带有修改性 整体二分做不带修改的区间最值—>看这里 现在待修改,我们可以将第l位修改为x,因为我们是用树状数组来维护的,所以把这个过程拆分成将第l个…

[LOJ 6042]「雅礼集训 2017 Day7」跳蚤王国的宰相(树的重心+贪心)

[LOJ 6042]「雅礼集训 2017 Day7」跳蚤王国的宰相 description solution 一个到所有节点距离和最小的节点 ⇔\Leftrightarrow⇔ 树的重心(满足最重的儿子最轻,每个儿子siz≤n2\le\frac{n}{2}≤2n​) 显然原树的重心答案为0 对于点iii&am…

由优劣语言之争引起的思考

由优劣语言之争引起的思考#欲使其灭亡,必使其疯狂昨天上午由阿里云中间件公众号和架构师小秘圈公众号发布的一篇文章《天天敲代码会使人变聪明么》在.net开发者中掀起了一阵巨浪,文章中提到的语言的先进与落后之争让基于.net开发者们义愤填膺&#xff0c…

[LOJ #521]「LibreOJ β Round #3」绯色 IOI(抵达)(结论)

#521. 「LibreOJ β Round #3」绯色 IOI(抵达) description solution 因为点的庇护所不能为自身,题目背景在树上,有结论一定是两个相邻点互为庇护所 所以树一定要能两两完美匹配才有解 判断完有解后就是构造解了,…

微软是如何使用 C# 重写 C# 编译器并将其开源的

Roslyn 是 C# 和 Visual Basic.NET 开源编译器的代号。这篇文章将介绍它是如何从微软过去的十年至暗时刻走出来,成为开源跨平台的 C# 和 VB 公共语言引擎。我于 2005 年加入微软,也就是在.NET 2.0 发布之前,当时微软内部已经开始在讨论 Rosly…

P3332 [ZJOI2013]K大数查询(整体二分做法)

P3332 [ZJOI2013]K大数查询 题意: 题解: 利用整体二分来做,这个题和P3834 【模板】可持久化线段树 2的区别在于本题的修改是区间修改,所以将里面的树状数组改成线段树就行,区间修改区间查询 但是不知道为什么我调了一阵子也不对…

[APIO2020]交换城市(交互+kruskal重构树)

[APIO2020]交换城市 description solution 如果u,vu,vu,v存在于一条链上(只有两个点度数为111其余点度数为222)则无解,否则必有解 如图,不管是哪个点度数>2>2>2,都可以有解 以蓝色为例,第二个…

如何在ASP.NET Core程序启动时运行异步任务(1)

原文:Running async tasks on app startup in ASP.NET Core (Part 1)作者:Andrew Lock译者:Lamond Lu背景当我们做项目的时候,有时候希望自己的ASP.NET Core应用在启动前执行一些初始化逻辑。例如,你希望验证配置是否合…

扫描线讲解

参考文章: 线段树扫描线(有关扫描线的理解) 线段树扫描线(基本原理) 扫描线 第二个文章里面的图很生动: 我总结一下就是:将所给图形的横坐标全部记录,纵坐标记录为扫描线 然后对与…

梁迪:我为MVP骄傲,《微软最有价值专家奖励计划介绍》附专题视频

题记:有些事情,比 MVP 更加不朽,浩气长空,日月星汉,我们为 MVP 和那些心目中的“MVP”感到骄傲。微软 MVP 是一种追求,不必要去强求,但 MVP 必定是俱乐部发展的根基础。火车跑得快全凭车头带&am…