码迷,mamicode.com
首页 > Windows程序 > 详细

c# 9.0 特性提案 简化空参数验证代码

时间:2019-10-02 18:37:19      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:linq   表达   一个   检测   函数   bsp   row   blank   影响   

简而言之就是将已存在的特性null参数验证,使用一个简单的语义标注进一步简化。

对于如下这段代码

// Before
void Insert(string s) {
  if (s is null) {
    throw new ArgumentNullException(nameof(s));
  }
  ...
}

简化为:

// After
void Insert(string s!) {
  ...
}

这个提案是在代码执行时,对值进行检测。

 

而已存在的可空类型(Nullable)不会影响代码的执行语义(代码执行顺序)。

 

而本提案中的操作符,可以改变代码的执行顺序,比如,不进入Insert函数中执行代码。

 

c#官方文档了解和学习更多新特性

 

同时这个提案也引入新的思想,是否可以给参数添加其他运算符,表达式,甚至linq。

 

而对于一个函数,能否像对待一个对象一样处理,比如非空函数?

 

同时,该提案增加标准库体积后,是否可以使更多的人收益?

 

c# 9.0 特性提案 简化空参数验证代码

标签:linq   表达   一个   检测   函数   bsp   row   blank   影响   

原文地址:https://www.cnblogs.com/zero5/p/11617909.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!