在C#中,双重问号是做什么的?
可能重复:
?? 空合并运算符 – >合并意味着什么?
在C#中,两个问号在一起意味着什么?
我找不到这个问题,所以我想我会问这个问题。 在C#中,双重问号是做什么的?
例:
x = y ?? z;
这是一个空合并运算符。 上面的方法状态x被分配了y的值,除非y是空的,在这种情况下它被分配了z的值。
如果不是null,则使用y,否则使用z
维基百科 :
这是空合并操作符和简写:
x = (y != null ? y : z);
如果y为空,则x将被设置为z。
如果值为空,则赋值z。
例如:
x = Person.Name ?? "No Name";
如果名称为空,则x将具有值“No Name”
.Net框架2.0向前允许空值为可空值types。
在这种情况下,它表示x等于y,如果它有一些值(即非空)或者等于z