为什么请求的参数为空
在C 11中,新引入了一种语法糖,这让C的语法愈发丰富。随着语法不断累加,代码的阅读和理解可能会变得有些困难。尤其是当我们刚开始接触新的语法时,往往会感到困惑,不知道其具体作用。这时,最好的方法就是查阅官方文档,了解这一语法的具体功能和用法。
关于检查参数是否为空的这一新语法,我最初是在几个议题中看到的:Initial roll out of !! (64720)、Second round of changing null checks to !! (65108)以及Add/use ArgumentException.ThrowIfNullOrEmpty (64357)。
目前,这一新语法主要用于检查参数是否为空,且仅适用于方法内的参数和构造函数的参数。需要注意的是,对于使用ref和out修饰的参数,这一语法并不适用。
如果在开发过程中未指定C语言版本,将会出现提示信息。这里我使用的是.Net 7 Preview1,搭配VS版本为2022 17.1.0。
由于C 11尚未发布正式版,我们需要在项目工程文件中指定语言版本为预览版。
编译器在编译过程中,会在当前程序集生成一个名为PrivateImplementationDetails的隐藏类。
对于这一新的语法糖,我持支持态度。虽然它的提高生产力的效果并非显著,但它能够减少代码量,有助于控制项目代码规模的膨胀。
以65108这一议题为例,检查参数为空的这一语法已经被应用在.Net底层核心库中。其核心目的是简化代码行数,让代码更加简洁易懂。
如果您觉得这篇文章对您有帮助,不妨点个赞或者加个关注。也非常欢迎大家一起进行技术交流,共同学习和成长。