永发信息网

VB2010中什么时候用byval

答案:2  悬赏:70  手机版
解决时间 2021-11-10 23:19
  • 提问者网友:焚苦与心
  • 2021-11-10 07:24
VB2010中什么时候用byval
最佳答案
  • 五星知识达人网友:雪起风沙痕
  • 2021-11-10 08:22
ByVal就是传值调用,就是把变量的值作为参数传送到子过程中,子过程内部对这个参数进行任何修改都不会影响到原变量的值。
而把ByVal去掉或者改为ByRef则是传址调用,就是把变量的内存地址作为参数传送到子过程中,那么子过程内部对这个内存地址进行赋值就相当于直接给原来那个变量赋值,这样原变量的值就会跟着改变。
你这段代码如果想得到100的结果,就要把test子过程的参数a的调用方式改为传址,也就是去掉ByVal即可。

补充:当你不希望子过程改变原变量(或者说实参)的值时,子过程的参数(或者说形参)采用ByVal(传值)调用方式;反之则要采用ByRef(传址)调用方式。
全部回答
  • 1楼网友:佘樂
  • 2021-11-10 08:57
Public Class Form1
    Private Sub test(Byref a As Integer) 'byval 传值 不改变原值
        a = 99 + 1

    End Sub
    
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim i, b As Integer
        Call test(i)
        TextBox1.Text = CStr(i)
    End Sub
End Class
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯