Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 理解零合并算子_C#_.net - Fatal编程技术网

C# 理解零合并算子

C# 理解零合并算子,c#,.net,C#,.net,我将非常感谢对这行代码的逻辑解释。它将实现什么 x = y ?? ""; 其中,x为object类型,y为字符串变量 请注意,编译的程序。如果y为空,它将为x分配一个空字符串 它被称为 例如,如果你有 a = b ?? c ?? d ?? e ?? f; 然后它将查找b值。如果不为空,则a=b 如果b为空,它将检查c值。如果不为空,则a=c。 如果c也为空,则它将检查。。。(继续)这句话可以翻译成长篇大论 if(y != null) { x = y; } else { x = "

我将非常感谢对这行代码的逻辑解释。它将实现什么

x = y ?? "";
其中,
x
为object类型,
y
为字符串变量


请注意,编译的程序。

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

它被称为

例如,如果你有

a = b ?? c ?? d ?? e ?? f;
然后它将查找
b
值。如果不为空,则
a=b
如果
b
为空,它将检查
c
值。如果不为空,则
a=c

如果
c
也为空,则它将检查。。。(继续)

这句话可以翻译成长篇大论

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

你看过报纸了吗?你还不明白什么?“如果操作数不为null,它将返回左侧操作数;否则它将返回右侧操作数”在询问此问题之前,您应该搜索或尝试某些操作。以下是msdn提供的详细文档。这不是三元运算符,我不知道你为什么这么认为<代码>?:,如在
x?y:z
中,通常称为三值运算符,因为它有三个操作数。这就是三元的意思。这并不意味着任何其他涉及问号的操作符也是三元的。