C# 版本特性说明

本文介绍了C#7.0的主要新特性,包括元组和弃元的使用,使得代码更加简洁;更多的expression-bodied成员扩展了Lambda表达式的应用范围;out变量简化了声明过程;异步Main方法支持异步编程;模式匹配增强了is和switch语句的功能。这些改进提升了C#的开发效率和代码可读性。
摘要由CSDN通过智能技术生成
C# 7.0
在 C# 7.0 中,特性主要有以下几个:元组和弃元、更多的 expression-bodied 成员、out 变量、异步 Main 方法、模式匹配 和 引发表达式。

元组和弃元
这个概念乍听起来可能会有一点陌生,其实,按我的理解,这就是增强的元组语法,终于可以摆脱Item1、Item2…

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210508090126588.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0w2NzU2MjM2MjA=,size_16,color_FFFFFF,t_70#pic_center)
C# 一样可以解构,假设我们现在有下面的一个方法:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210508090222787.jpg#pic_center)
这就是简化后的元组的用法,如果是以前,我们还需要返回一个Tuple<string, double, double>。此时,如果我们需要解析城市名称及其经纬度,可以这样做:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210508090248622.jpg#pic_center)
那么什么又是弃元呢?继续以上面的代码为例,如果我不关心经纬度,只需要城市名称又该怎么办呢?人家的方法返回的是一个3元的结果,而我们只需要其中的1元,此时,就有了所谓弃元的概念:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210508090328432.jpg#pic_center)
在 C# 中可以使用下划线_来表示要舍弃的元,是为弃元!

更多的 expression-bodied 成员
这部分同样是经过强化的 Lambda 表达式,之前我们可以在成员函数和 只读属性上使用 Lambda 表达式,而现在,我们可以将其运用在构造函数、终结器以及 get和set访问器:

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210508090353336.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0w2NzU2MjM2MjA=,size_16,color_FFFFFF,t_70#pic_center)
out变量
这是一个非常不错的改进,终于不用再单独声明out变量啦:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210508090416933.jpg#pic_center)
异步 Main 方法
顾名思义,Main 方法现在可以支持 async 关键字啦:
![在这里插入图片描述](https://img-blog.csdnimg.cn/2021050809043436.jpg#pic_center)
在没有返回值的情况下,可以考虑返回Task:

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210508090455153.jpg#pic_center)
模式匹配
主要是针对 is 和 switch 语句提供了增强的语法。在这里,对于前者来说,我们可以将判断和赋值两个步骤合二为一:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210508090515917.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0w2NzU2MjM2MjA=,size_16,color_FFFFFF,t_70#pic_center)
而对于后者来说,主要打破了传统 switch 语句的常量模式:![在这里插入图片描述](https://img-blog.csdnimg.cn/20210508090532838.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0w2NzU2MjM2MjA=,size_16,color_FFFFFF,t_70#pic_center)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值