好的,所以我一直在编写一个程序,出于某种原因,当我把一点代码放进else-if语句中时,它根本不会运行该语句,甚至不会运行原始的if语句,但是当我把它放在常规的if and else语句中时它运行得很好。
这段代码有效:
If TextBox5.Text > TextBox1.Text & TextBox6.Text > TextBox2.Text Then 'NE
Bearing = Atan(X2 / Y2) * 57.3
Else
Bearing = Atan(Y2 / X2) * 57.3
Bearing = Bearing + -Bearing + -Bearing + 90
If BOFF > 0 Then
Bearing = Bearing - Math.Round(BOFF)
Else
Bearing = Bearing + Math.Round(BOFF)
End If
End If
这段代码不起作用:
If TextBox5.Text > TextBox1.Text & TextBox6.Text > TextBox2.Text Then 'NE
Bearing = Atan(X2 / Y2) * 57.3
ElseIf TextBox5.Text > TextBox1.Text & TextBox6.Text < TextBox2.Text Then
Bearing = Atan(Y2 / X2) * 57.3
Bearing = Bearing + -Bearing + -Bearing + 90
If BOFF > 0 Then
Bearing = Bearing - Math.Round(BOFF)
Else
Bearing = Bearing + Math.Round(BOFF)
End If
End If
可能是语法错误之类的,但它根本不会出现错误,可以完美地运行代码等等。我不知道我在这里做错了什么。
您应该使用AND
而不是&
AND
是逻辑运算符,而&
用于连接字符串
它是逻辑运算符,也是按位AND运算符。如果操作数为true,则条件变为true。此操作员不执行短路,即它评估两个表达式。
If TextBox5.Text > TextBox1.Text And TextBox6.Text > TextBox2.Text Then 'NE
'Code
ElseIf TextBox5.Text > TextBox1.Text And TextBox6.Text < TextBox2.Text Then
'Code
End If
注意:
如果TextBox1.Text =4
、TextBox6.Text=1
的值,则TextBox1.Text & TextBox6.Text
将产生41
参见本demo
&
用于连接两个字符串