-2

我想做下面的 IF 语句,

if (checkID.Equals(Convert.ToInt32(txtCheck.Text)) 
    && drop == 319020000 
    || currentFloor[id][0].checkFlag == 1)

我想在这里检查以下内容:

我想检查这整个陈述是否属实

checkID.Equals(Convert.ToInt32(txtCheck.Text)) && drop == 319020000`

或此声明:

currentFloor[id][0].checkFlag == 1

如果其中 1 个为真,它应该进入循环内部。

我在这里做错了什么?

4

2 回答 2

2

使用括号,同一级别有许多运算符,优先级可能会杀死你

if ((checkID.Equals(Convert.ToInt32(txtCheck.Text)) && drop == 319020000)
    || currentFloor[id][0].checkFlag == 1)

http://msdn.microsoft.com/en-us/library/aa691323(v=vs.71).aspx

;)

于 2013-05-31T08:45:23.683 回答
-1

你必须使用额外的括号,如下所示,

if ((checkID.Equals(Convert.ToInt32(txtCheck.Text)) && drop == 319020000) || currentFloor[id][0].checkFlag == 1)
于 2013-05-31T08:45:59.610 回答