Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#和可为空的标志/注释?_C#_Nullable - Fatal编程技术网

C#和可为空的标志/注释?

C#和可为空的标志/注释?,c#,nullable,C#,Nullable,C#是否具有可为空的注释 例如在Java中 public @Nullable <T extends BaseJsonClass> T getModel(String saveKey, Class<T> type) { 编译器将警告他们没有检查null 我知道C语言中变量名称末尾的?标记,就像someObject?一样,但问题是,当变量在许多地方使用时,它可能是棘手的/JSON模型。简言之,不是 但它目前是对未来发展的建议 C#没有类似的功能——这种功能还不是语言的一部分

C#是否具有可为空的注释

例如在Java中

public @Nullable <T extends BaseJsonClass> T getModel(String saveKey, Class<T> type) {
编译器将警告他们没有检查null

我知道C语言中变量名称末尾的
标记,就像
someObject?
一样,但问题是,当变量在许多地方使用时,它可能是棘手的/JSON模型。

简言之,不是

但它目前是对未来发展的建议

C#没有类似的功能——这种功能还不是语言的一部分


但是,如果您使用ReSharper,您可以利用它的功能,它允许您向代码中添加几个属性:
[CanBeNull]
[NotNull]
[ItemCanBeNull]
[ItemNotNull]
。插件执行的可空性分析将考虑这些属性,从而产生您要求的编译时警告。

试试看,对于相同的请求似乎是一样的。我怀疑在c#中是否有类似的东西。听起来像。编译器与此有什么关系?好吧,我想象编译器理论上可以进行复杂的分析,并在不检查null的情况下生成警告。但是你是对的,这更多的是一种语言特性,而不是编译器特性。我将改写这篇文章。到2019年12月,这篇文章终于面世了。有关详细信息,请参阅
Object.getModel().someMethod()