什么是 ?? 在我的财产?
可能重复:
C#中两个问号在一起意味着什么?
任何人都可以解释这种语法。
protected string CompanyProductSeriesId
{
get
{
return Request.QueryString["CPGId"]
?? (ViewState["CPSId"] == null
? ""
: ViewState["CPGId"].ToString());
}
}
我想站在下面?? 在这个语法中。
A = B? C
A = C如果B == NULL
A = B如果B不是NULL
以下是CompanyProductSeriesId
属性获取器的快速实现,我相信它是自我解释的:
string returnValue;
if (Request.QueryString["CPGId"] != null)
{
returnValue = Request.QueryString["CPGId"];
}
else
{
if (ViewState["CPSId"] == null)
{
returnValue = "";
}
else
{
returnValue = ViewState["CPGId"].ToString());
}
}
return returnValue;
??
是空聚合运算符。
它从左边返回非空的第一个操作数。
?? 被称为空合并运算符,从MSDN -
“??运算符被称为空合并运算符,用于为可为空的值类型或引用类型定义默认值,如果操作数不为null,则返回左边的操作数;否则返回右边的操作数。
这有帮助吗?
链接地址: http://www.djcxy.com/p/53839.html