【问题标题】:ElseIf statement wont run the whole code VBElseIf 语句不会运行整个代码 VB
【发布时间】:2016-04-02 00:42:12
【问题描述】:

好的,所以我一直在编写我正在制作的程序,并且由于某种原因,当我将一些代码放入 else if 语句时,它根本不会运行该语句,即使是原始的 If 语句, 但是当我把它放在一个常规的 If 和 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

可能是语法错误,但它根本没有出现错误,完美地运行代码等等。我不知道我在这里做错了什么。

【问题讨论】:

  • 工作代码中,不满足if条件,进入else语句。在非工作代码中,既不满足 if 条件也不满足 else if 条件,因此不执行任何代码。我敢肯定,在您方面进行一些额外的调试工作将解决此问题。我通常在条件中添加一些括号/括号来分隔条件。
  • 您实际上想要实现什么?只需解释您的要求....
  • @wingedpanther 好的,基本上,它计算的方向不同,这只是其中的 2 个,其中 2 个需要添加,所以我总共需要 3 个 elseif 语句,但不仅仅是 1 个,而是这是一个展示,因为代码不起作用。总而言之,它们是程序扫描的不同方向,然后设置计算优先级并计算它们,但似乎 else if 分解代码并且没有任何效果。
  • @wingedpanther jesus 非常感谢你,你是最棒的,顺便说一下 & 怎么不起作用?

标签: vb.net


【解决方案1】:

您应该使用AND 而不是&amp;

AND 是逻辑运算符,而&amp; 用于连接字符串

它是逻辑与位运算符。如果两者 操作数为真,则条件为真。该运营商不 执行短路,即计算两个表达式。

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 =4TextBox6.Text=1 的值为TextBox1.Text &amp; TextBox6.Text 将产生41

看到这个demo

&amp; 用于连接两个字符串

【讨论】:

  • 在你的代码中你也可以使用AndAlso来启用短路
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-11
  • 1970-01-01
  • 2023-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多