2 回答
TA贡献1794条经验 获得超7个赞
incidenciaPronosticada本身可以为null,这incidenciaPronosticada.IdIncidenciaPronosticada != 0将导致aNullReferenceExecption因为IdIncidenciaPronosticada无法访问。
执行显式的null检查或使用null安全导航操作符?.:
if( incidenciaPronosticada != null && incidenciaPronosticada.IdIncidenciaPronosticada != 0 ) {
或者:
if( incidenciaPronosticada?.IdIncidenciaPronosticada > 0 ) {
(请注意我用的> 0,而不是!= 0因为> 0会true如果incidenciaPronosticada是空的(因为(Int32?)null != (Int32?)0):
还要注意,incidenciaPronosticada?.IdIncidenciaPronosticada表达式的类型是Nullable<Int32>(aka Int32?)而不是Int32。
这是下表的结果 if( incidenciaPronosticada.IdIncidenciaPronosticada ... )
incidenciaPronosticada IdIncidenciaPronosticada . != 0 . > 0
null null throws throws
(object) null true false
(object) 0 false false
(object) 1 true true
这是下表的结果 if( incidenciaPronosticada?.IdIncidenciaPronosticada ... )
incidenciaPronosticada IdIncidenciaPronosticada ?. != 0 ?. > 0
null null true false
(object) null true false
(object) 0 false false
(object) 1 true true
TA贡献1797条经验 获得超6个赞
您正在尝试访问incidenciaPronosticada内部的成员。空支票应该看起来像
if(incidenciaPronosticada != null)
{
//code there
}
else {
//code there
}
- 2 回答
- 0 关注
- 143 浏览
添加回答
举报