表达式体构造函数
你可以从构造函数参数创建一个元组,然后将该元组解构为相应的属性。表达式体成员能够轻松地提供成员的实现。 只要属性或方法仅包含一个表达式。
下面来看.NET6之前是怎么实现一个类的构造函数的:
新的语法可以简化为:
它不但简洁而且不会影响性能! 编译器足够聪明,可以将表达式体赋值优化为单个语句。
Linq新增了两个方法MinBy & MaxBy
假设我们有一个水果数组:
我们来看看,在.net6 和它之前,我们是怎么把最贵和最便宜的水果找出来的?
先来找最贵的:
再来找最便宜的
可以看到,原来需要先对数组进行排序,然后取第一个,现在直接就可以得到你想要的结果,虽然不是什么大的改进,但也是可以省一些代码,让C#用起来更方便。
最后.net6还增加了DateOnly and TimeOnly 类型。如果仅仅需要时间,或仅仅需要日期,只要这两个就够了。