【发布时间】:2011-02-11 03:19:48
【问题描述】:
关于 C# 中的短路语句的快速问题。使用这样的 if 语句:
if (MyObject.MyArray.Count == 0 || MyObject.MyArray[0].SomeValue == 0)
{
//....
}
如果“MyArray.Count”部分为真,是否保证评估将在“MyArray.Count”部分之后停止?否则我会在第二部分得到一个空异常。
【问题讨论】:
-
如果你问这个问题是因为你确实从上面的代码中得到了一个空引用异常,这可能是因为
MyArray为空或MyArray[0]包含一个空值。看我的回答。
标签: c# conditional-operator logical-operators short-circuiting