【发布时间】:2015-11-10 11:32:14
【问题描述】:
这段代码运行良好:
policy.ProviderID > 0 ? RefDataSources.LegalBodies.GetDisplayName(policy.ProviderID.Value) : null
但 Resharper 抱怨 policy.ProviderID.Value 需要检查 null(以防止出现 InvalidOperationException)。
据我所知,该条件只会对大于0 的非空值评估为真,因此不需要进一步检查。
我应该将此记录为 JetBrains 的错误吗? 还是我误解了什么。
【问题讨论】:
-
policy.ProviderID的类型是什么?
-
@Matt 显然是
int? -
@IvanStoev,你是怎么得出这个结论的?我看不到任何可以确认它是那种类型的东西。
-
@AshBurlaczenko:看起来它是某种数字类型的可为空值类型,以便与 0 进行比较。我同意肯定会知道,但我认为它是目前是一个合理的猜测。
-
@JonSkeet,我在玩魔鬼倡导者:) 我同意 int?很可能是这种类型,我只是指出还有其他可能性。
标签: c# null resharper evaluation