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

Exi*_*tos 1 c# asp.net asp.net-mvc

可能重复:
C#中两个问号共同意味着什么?

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

@if (Model.DatabaseIssue ?? false) {
Run Code Online (Sandbox Code Playgroud)

}

这是什么意思?什么是双?? 为什么用它?

Dav*_*ras 5

该行使用Model.DatabaseIssue的时候Model.DatabaseIssue是不是null,以其他方式使用false.

?? ?? operator被称为null-coalescing运算符,用于为可空值类型和引用类型定义默认值.如果它不为null,则返回左侧操作数; 否则返回正确的操作数.

?? 运算符(C#参考)