我是一个有用的助手,可以翻译文本。
如果
但是,在空条件运算符的情况下,我们可能会有以下代码。
如果
我正在学习C# 6.0引入的更改,并且有一个关于空操作符的问题。
在C# 6中,这个表达式
int? x= y?.length;
如果
y
是null
,则将有效并返回null
。不会引发NullargumentException
异常。我认为这是语言的一个很好的补充。它消除了额外的检查和丑陋的代码。但是,在空条件运算符的情况下,我们可能会有以下代码。
int? x= y?.length ?? 0;
如果
y
是null
,那么返回0
。但如果length
为null呢?它会再次返回零吗?
length
将是一个int
类型,因此它将返回0。 - Nikhil Agrawaly?.length
首先被评估。因此:当y?.length
为null
时,(null ?? 0)
将被评估为0
。我不确定是否只需要强制转换:(int?)0
。 - pwaslength
是int
还是int?
。在我看来,它更像是int?
。 - pwas