我的程序中有一些函数在到达返回行后停止,但我需要函数继续,以防我希望函数返回的内容发生变化。
是否有解决方法或强制函数在返回后继续的方法?
我制作了一个测试程序来演示这个问题。它是一个只包含一个按钮的窗体。
这是源代码:
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是布尔值,返回类型为布尔值。