前言
首先很抱歉,我们之前的维信小程序学习计划因为某些原因需要推迟了,但是很快就会回归啦。我们今天来学习一下C#的一些新特性。
$符号
$符号使得我们不必再输入冗余的占位符{0}、{1},而是直接在字符串中输入变量
![v2-d15d1ccd58de361c213bf23382365dd8_b.jpg](https://i-blog.csdnimg.cn/blog_migrate/e4ada203c09652adf3f825ea7d783fc6.jpeg)
![v2-da8a0ebcf76c60e1760c6bd8362a257f_b.jpg](https://i-blog.csdnimg.cn/blog_migrate/4fa9a737e22fb807fbdb98bff7777f67.jpeg)
静态引用
现在有个需求,需要你计算两个数的绝对值的和
以前的做法是使用Math.Abs方法,很容易可以实现
![v2-37a602ff0cc970c714dfc9d6c1ee4583_b.png](https://i-blog.csdnimg.cn/blog_migrate/f09f233c06869d50803bd60dd459fb9e.png)
而一旦运算很多的时候,需要频繁地写Math。现在我们有了新的办法
引入命名空间:using static System.Math;于是有了
![v2-100ccd0247f20f9f49cedf9c521a2b45_b.png](https://i-blog.csdnimg.cn/blog_migrate/c7a80022f7366cbb89d01ffa710fce4f.png)
在前台调用一下: Console.WriteLine(StaticDemo.oldMethod(-1, -2));
Console.WriteLine(StaticDemo.newMethod(-1, -2));
![v2-fd76a9fe6940b8494a76dae6b732df91_b.jpg](https://i-blog.csdnimg.cn/blog_migrate/9653fc5f2934d00c2f94d2902cc8733d.jpeg)
如上图测试,两个方法的结果是一样的。
nameof
我们在网上提现,假如需要做一个提现数目不能大于100的验证,用于提示我们自己哪个字段出了错误
如下图所示:
![v2-d382391f3ad1a634d3a1d05cde47bf07_b.jpg](https://i-blog.csdnimg.cn/blog_migrate/5480ca4abed6635d8f4f66b08a34bd2a.jpeg)
假如count这个字段我们以后需要进行更改,那所有用到count这个字段的字符串都要更改,很麻烦,也很容易出错
此时,我们只需要:
![v2-ff1bd0cb0ced1a4cef8d7e46b717247d_b.jpg](https://i-blog.csdnimg.cn/blog_migrate/2cfad9daf1cf378031d76a229bc3ab32.jpeg)
这样子,不管变量的名字如何改变,任何用到此变量名字的字符串都将更改,nameof不仅可以适用于变量,还可以用于类、属性、方法等。
Null表达式
定义一个数组,我们来循环遍历出每一项的长度
旧的方法是使用三元表达式(运算符),如下图所示
![v2-cc2cc378cdef31e9fae6933059b08db8_b.jpg](https://i-blog.csdnimg.cn/blog_migrate/3758e2a0d5e8dc8e44199d605694889d.jpeg)
新方法:使用??和?.
要点如注释所示
![v2-97fa61400568d46105c94e7b1d08e765_b.jpg](https://i-blog.csdnimg.cn/blog_migrate/ec892b6ad698ae7ec5a0f565f22a340d.jpeg)
正如我们预算的那样,输出结果如下图所示:
![v2-e33e41a662313502be1eb011b15360da_b.jpg](https://i-blog.csdnimg.cn/blog_migrate/4cdc30d841be439c4fd57914d9d60355.jpeg)