c# - 检查对象是否为 null 并在同一个 if 语句中比较对象的属性值是否安全?

标签 c# .net asp.net

请参阅线程标题。我是否可以安全地执行类似的操作而不用担心 NullReferenceException,或者不能保证这些 bool 表达式将从左到右求值?

// can this throw an NRE?
if (obj == null || obj.property == value)
{
   // do something
}

最佳答案

他们将从左到右进行评估,保证。所以是的,它是安全的。

The conditional-OR operator (||) performs a logical-OR of its bool operands, but only evaluates its second operand if necessary.

http://msdn.microsoft.com/en-us/library/6373h346%28VS.71%29.aspx

关于c# - 检查对象是否为 null 并在同一个 if 语句中比较对象的属性值是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3463468/

相关文章:

c# - 更新面板与页面方法

asp.net - IIS 中缺少 ASP.NET 选项卡

c# - Web API - 事件通知

c# - 监听另一个应用程序中的事件

c# - 代码在 visual studio 2012 中没有遇到断点

c# - .NET — 管理不同版本的 NuGet 包的常见依赖关系

c# - C# 中新的 Int32() 用法?

c# - 将文件上传到 Hbase HDInsight

c# - 我应该在哪里存储公钥?

c# - 是否有用于 HSV 到 RGB 的内置 C#/.NET 系统 API?