在C#中,??是什么意思?

4

5
两个问号在C语言中表示一个运算符,称为“空合并运算符”(null coalescing operator),如果第一个操作数为空(NULL),则返回第二个操作数,否则返回第一个操作数。 - Marco Mariani
这个链接将回答你的问题:?? 运算符 (C# 参考) - Will Marcouiller
http://www.google.com/search?q=c%23+operators - Dirk Vollmar
5个回答

5
if (unitsInStock != null)
    availableUnits = unitsInStock;
else
    availableUnits = 0;

4
这是空值合并运算符。它的翻译是:availableUnits 等于 unitsInStock,除非 unitsInStock 等于 null,此时 availableUnits 等于 0。
它用于将可空类型转换为值类型。

2

如果左操作数不为 null,则 ?? 运算符返回左操作数;否则返回右操作数。

?? 运算符 (C# 参考)


1
根据 MSDN,?? 运算符被称为 null-coalescing 运算符,用于为可空值类型和引用类型定义默认值。如果左操作数不为空,则返回左操作数;否则返回右操作数。
请查看链接:
http://msdn.microsoft.com/en-us/library/ms173224.aspx

1

这意味着当 unitsInStock 不等于 0 时,availableUnits 变量将等于 unitsInStock,否则 availableUnits 将为 null。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接