如何让函数在结束之前不计算返回值



我的程序中有一些函数在到达返回行后停止,但我需要函数继续,以防我希望函数返回的内容发生变化。

是否有解决方法或强制函数在返回后继续的方法?

我制作了一个测试程序来演示这个问题。它是一个只包含一个按钮的窗体。

这是源代码:

Private Sub btnTest_Click(sender As System.Object, e As System.EventArgs) Handles btnTest.Click
    If testFunction() = True Then
        MsgBox("It returned True!")
    Else
        MsgBox("It returned False!")
    End If
End Sub
Function testFunction() As Boolean
    Dim testVariable As Boolean = True
    Return False
    If testVariable = True Then
        Return True
    End If
End Function

消息框总是说"它返回了False",如果它像我希望的那样继续执行代码,它就会返回true。

您已经设置了一个标志变量,请使用它!

Function testFunction() As Boolean
    Dim testVariable As Boolean = True
    testVariable = False
    Return testVariable
End Function

此外,不要在比较中使用= True= False= True是100%冗余的,而x = False应该是Not x


编辑:对不起,不清楚。

If x = True Then
    ' ...
End If

总是*与相同

If x Then
    ' ...
End If
Private Sub btnTest_Click(sender As System.Object, e As System.EventArgs) Handles btnTest.Click
    If testFunction() Then
        MsgBox("It returned True!")
    Else
        MsgBox("It returned False!")
    End If
End Sub  
Function testFunction() As Boolean
  Dim testVariable As Boolean = True
    If testVariable Then
        Return True
    End If
    Return False
End Function

您也可以执行以下操作:

Function testFunction() As Boolean
  Dim testVariable As Boolean = True
  Return testVariable
End Function

由于testVariable是布尔值,返回类型为布尔值。

最新更新