有没有一种方法可以指示变量在VB中被ByRef传递



有没有一种方法可以指示变量在VB中被ByRef传递?我知道在C#中,它们有一个ref关键字,它必须出现在函数头和调用代码中。VB有等效程序吗?

例如,我的函数看起来像这个

private function add_one(byRef value)as Boolean

呼叫代码看起来像这个

increment_was_successful = add_one(ByRef value)

为了澄清我令人困惑的评论。。。

ByRef和ByVal用于定义子或函数的参数,而不是在调用中。

以下是一些代码,类似于OP问题:

Dim orgVal As Integer = 1
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim increment_was_successful As Boolean
increment_was_successful = add_one(orgVal)
MsgBox(increment_was_successful & " - " & orgVal)
End Sub
Private Function add_one(ByRef value As Integer) As Boolean
Const limit As Integer = 3
If value <= limit - 1 Then
value += 1
Return True
Else
Return False
End If
End Function

注意函数定义中的ByRef。如果您将ByRef更改为ByVal,您将看到orgVal从未更改。"value"是add_one的本地值,而不是指向orgVal的指针(ByRef)。

原来VB根本不支持这种形式。

increment_was_successful = add_one(ByRef value)

您调用函数时没有任何指示它被ref 传递的指示

increment_was_successful = add_one(value)

相关内容

  • 没有找到相关文章

最新更新