标签: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函数中执行代码。
同时这个提案也引入新的思想,是否可以给参数添加其他运算符,表达式,甚至linq。
而对于一个函数,能否像对待一个对象一样处理,比如非空函数?
同时,该提案增加标准库体积后,是否可以使更多的人收益?
标签:linq 表达 一个 检测 函数 bsp row blank 影响
原文地址:https://www.cnblogs.com/zero5/p/11617909.html