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