请参阅线程标题。我是否可以安全地执行类似的操作而不用担心 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/