这个MVC项目的第一行是什么意思
本文关键字:一行 是什么 意思 MVC 项目 这个 | 更新日期: 2023-09-27 18:12:49
可能重复:
在C#中,两个问号加在一起意味着什么?
我正在看一个MVC项目,cshtml页面中的第一行是:
@if (Model.DatabaseIssue ?? false) {
}
这是什么意思?替身是什么??为什么要使用它?
当Model.DatabaseIssue
不是null
时,该行使用Model.DatabaseIssue
,否则使用false
。
??运算符被称为null合并运算符,用于为可为null的值类型以及引用定义默认值类型。如果左侧操作数不为null,则返回左侧操作数;否则它返回正确的操作数。
操作员(C#参考(
??
是一个C#运算符,如果它不为null,则返回左侧,否则返回右侧。
因此,在您的情况下,如果Model.DatabaseIssue
不为null,它将返回其值。如果为空,则返回false
。
Model.DatabaseIssue
的类型似乎是bool?
(可为null的布尔(。
如果Model.DatabaseIssue不为null,则使用它,否则使用false。
它在C#中使用了聚结运算符。http://msdn.microsoft.com/en-us/library/ms173224.aspx