不知道我在这里错过了什么。应该很简单..
tblCurrent 不等于 NULLtblCurrent.Rows.Count DO 等于 0
if (tblCurrent != null | tblCurrent.Rows.Count != 0)
{
//Do something
}
else
{
// This is what I want
}
它应该看到正确的条件是 0,所以它应该返回 false 并放入 else 块? 我错过了什么??
如果tblCurrent
不等于null
,则tblCurrent != null
计算结果为 true
,因此整体OR
的计算结果也将计算为 true
,因为OR
的计算结果为 true
当且仅当其一方或双方计算为 true
时
看起来您的逻辑应该使用 AND
运算符 &&
而不是 OR
,如下所示:
if (tblCurrent != null && tblCurrent.Rows.Count != 0) {
...
} else {
...
}
&&
运算符使评估短路,因此即使tblCurrent
null
,您也不会收到异常。
正确的OR operator
是||
。| operator
是一个bitwise OR
.
你的逻辑需要AND
,而不是OR
。
if (tblCurrent != null && tblCurrent.Rows.Count != 0)