【发布时间】:2014-03-21 07:45:46
【问题描述】:
我有一个包含 4 个条件的 if 语句:
if (Global.LoggedAdmin != null &&
LaunchDataGridView.CurrentCell.ColumnIndex == 5 ||
LaunchDataGridView.CurrentCell.ColumnIndex == 6 ||
LaunchDataGridView.CurrentCell.ColumnIndex == 9 )
{
//code
}
如果列索引为 5,由于某种原因它不会执行代码,而其余列索引则有效,我知道如果您有 ||乙 || c ||....|| z,如果其中至少一项为真,则代码应执行。 LoggedAdmin 始终不为空。我尝试将列索引条件 1'st 和 LoggedAdmin 条件最后放在 if 括号内,然后如果列索引为 5 || 则执行代码6但不是9,这是正常的吗?如果是,为什么? PS:我有另一个带有 3 个参数的 IF 语句,它或多或少类似于上面的那个,它也没有满足其中一个条件(列索引条件),但是当我将列索引部分放在括号中时它起作用了),例如上面,如果我把它们放在括号中,它不适用于任何列索引:/,我什么都不懂了。
【问题讨论】:
-
提示:运算符优先级。
-
用大括号分隔术语总是对我有用:(a != null && (b1 || b2 || b3))
-
you 期望
Global.LoggedAdmin != null &&会与其余条件发生什么交互?你说LoggedAdmin总是为空,所以想必你认为它和false &&是一样的,那么你认为它会如何交互? -
将答案标记为已接受就足够了 - 无需标记您的问题 [已解决],因为接受答案正是如此。
标签: c# if-statement