问题

在C#中,(并且感觉自由回答其他语言),运行时评估逻辑语句的顺序是什么?

例:

 DataTable myDt = new DataTable();
if (myDt != null && myDt.Rows.Count > 0)
{
    //do some stuff with myDt
}
 

运行时首先评估哪个语句 –

 myDt != null
 

或:

 myDt.Rows.Count > 0
 

?

有没有时候编译器会向后评估语句?也许当涉及“OR”运算符时?


&被称为逻辑位运算符,并将始终评估所有子表达式

什么时候使用位置运算符而不是“短路布尔”的好例子?

  最佳答案

C#:左到右,如果发现非匹配(评估为false),则处理停止.

  相同标签的其他问题

c#language-agnosticcompiler-constructionlogic