可能重复:?? Null Coalescing Operator - >合并是什么意思? C#中两个问号共同意味着什么?
我在这里找不到这个问题所以我想我会问它 . 双重问号在C#中有什么作用?
例:
x = y ?? z;
这是一个空的合并运算符 . 上面的方法状态x被赋予y的值,除非y为空,在这种情况下,它被赋予z的值 .
如果不为null,请使用y,否则使用z
从Wikipedia:
这是null-coalesce运算符和简写:
x = (y != null ? y : z);
如果y为null,则x将设置为z .
如果值y为null,则赋值z .
例如:
x = Person.Name ?? "No Name";
如果name为null,则x将具有值“No Name”
正如其他人所说,它是零合并运算符 .
关于此的MSDN信息:
http://msdn.microsoft.com/en-us/library/ms173224.aspx
.Net framework 2.0以后允许空值为Nullable值类型 .
在这种情况下,如果它有一些值(即不为空),则表示x等于y,否则等于z
7 回答
这是一个空的合并运算符 . 上面的方法状态x被赋予y的值,除非y为空,在这种情况下,它被赋予z的值 .
如果不为null,请使用y,否则使用z
从Wikipedia:
这是null-coalesce运算符和简写:
如果y为null,则x将设置为z .
如果值y为null,则赋值z .
例如:
如果name为null,则x将具有值“No Name”
正如其他人所说,它是零合并运算符 .
关于此的MSDN信息:
http://msdn.microsoft.com/en-us/library/ms173224.aspx
.Net framework 2.0以后允许空值为Nullable值类型 .
在这种情况下,如果它有一些值(即不为空),则表示x等于y,否则等于z