What does a double question mark do in C#?
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicates:
?? Null Coalescing Operator --> What does coalescing mean?
What do two question marks together mean in C#?
我在这里找不到这个问题,所以我想我会问。在C中,双问号的作用是什么?
例子:
1 | x = y ?? z; |
这是一个空合并运算符。上述状态x的方法被赋予y的值,除非y为空,在这种情况下,它被赋予z的值。
如果不为空则使用y,否则使用z
维基百科:
它是空的coalesce运算符和它的简写:
1 | x = (y != null ? y : z); |
如果y为空,x将设置为z。
如果值Y为空,则分配值Z。
例如:
1 | x = Person.Name ??"No Name"; |
如果名称为空,x将具有值"no name"
.NET Framework 2.0及更高版本允许空值为可以为空的值类型。
在这种情况下,它说如果它有某个值(即不为空),x等于y,否则等于z。
正如其他人所说,它是空合并运算符。
有关此的msdn信息:
http://msdn.microsoft.com/en-us/library/ms173224.aspx