在 C# 中是
x = y ?? null;
总是等同于
x = y;
如果 x 和 y 都是可空类型?
我想不出为什么需要第一行代码而不需要第二行代码的原因。
最佳答案
是的,写下这行
x = y ?? null;
看起来很傻,因为表达式将返回 null
如果y
为空(所以基本上返回 y
)和 y
否则。
请记住,空合并运算符在功能上与编写相同:
x = y != null ? y : <whatever operand>
或者,当然(对于那些不熟悉三元运算符的人):
if (y != null)
x = y;
else
x = <whatever operand>;
在任何一种情况下,使用 null 作为第二个参数都没有任何用处。您也可以按照帖子中的说明分配变量。
关于c# - 如果默认为空,在 C# 中使用空合并运算符是否总是多余的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23687977/