这个MVC项目的第一行是什么意思

本文关键字:一行 是什么 意思 MVC 项目 这个 | 更新日期: 2023-09-27 18:12:49

可能重复:
在C#中,两个问号加在一起意味着什么?

我正在看一个MVC项目,cshtml页面中的第一行是:

@if (Model.DatabaseIssue ?? false) {

}

这是什么意思?替身是什么??为什么要使用它?

这个MVC项目的第一行是什么意思

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