C# 中的双问号有什么作用?
Possible Duplicates:
?? Null Coalescing Operator --> What does coalescing mean?
What do two question marks together mean in C#?
I couldn't find this question being asked here so I figured I would ask it. What does a double question mark do in C#?
Example:
x = y ?? z;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
这是一个空合并运算符。上面的方法规定 x 被赋予 y 的值,除非 y 为空,在这种情况下它被赋予 z 的值。
This is a null coalescing operator. The method above states x is assigned y's value, unless y is null, in which case it is assigned z's value.
来自 Wikipedia:
这是空合并运算符和简写:
From Wikipedia:
It's the null-coalesce operator and shorthand for this:
如果不是
null
,则使用y
,否则使用z
。Use
y
if notnull
, otherwise usez
.如果 a 值 y 为空,则分配值 z。
例如:
如果 name 为 null x 将具有值“No Name”
If a the value y is null then the value z is assigned.
For example:
If name is null x will have the value "No Name"
如果 y 为空,则 x 将被设置为 z。
If y is null x will be set to z.
.Net Framework 2.0 及以上版本允许 Nullable 值类型为 null 值。
在这种情况下,它说
如果 x 有某个值(即不为空),则 x 等于 y,否则等于 z
.Net framework 2.0 onwards allow null values to Nullable value types.
here in this case, it says
x equals y if it has some value (ie not null) or else equals z
正如其他人所说,它是空合并运算符。
有关此内容的 MSDN 信息:
https://learn.microsoft .com/dotnet/csharp/language-reference/operators/null-coalescing-operator
As others have stated, it is the null coalescing operator.
MSDN information on this:
https://learn.microsoft.com/dotnet/csharp/language-reference/operators/null-coalescing-operator