理解空合并运算符

时间:2015-02-18 11:10:29

标签: c# .net

我将理解这行代码的逻辑解释。它会实现什么?

x = y ?? "";

其中x的类型为object,y是字符串变量。

请注意该程序已编译。

2 个答案:

答案 0 :(得分:5)

如果y为空,它将为x分配一个空字符串

它被称为null-coalescing operator

例如,如果你有

a = b ?? c ?? d ?? e ?? f;

然后它会查找b值。如果它不为null,那么a=b 如果b为空,则会检查c值。如果它不为空a=c。 如果c为null,那么它将检查...(继续)

答案 1 :(得分:2)

这转化为长篇陈述。

if(y != null)
{
   x = y;
}
else
{
   x = "";
}