是什么?在这个C#语句中意味着什么?
int availableUnits = unitsInStock ?? 0;
答案 0 :(得分:4)
这是空合并运算符。它转换为:availableUnits
等于unitsInStock
,除非unitsInStock
等于null
,在这种情况下availableUnits
等于0.
用于将可空类型更改为值类型。
答案 1 :(得分:3)
if (unitsInStock != null)
availableUnits = unitsInStock;
else
availableUnits = 0;
答案 2 :(得分:2)
??如果左侧操作数不为null,则返回左侧操作数,否则返回右侧操作数。
答案 3 :(得分:1)
根据MSDN,?? operator被称为null-coalescing运算符,用于为可空值类型和引用类型定义默认值。如果它不为null,则返回左侧操作数;否则它返回正确的操作数。
答案 4 :(得分:1)
这意味着availableUnits变量将是== unitsInStock,除非unitsInStock == 0,在这种情况下,availableUnits为null。