CSDN博客

img PPLUNCLE

Byval与Byref的区别

发表于2004/6/24 15:06:00  1457人阅读

实例:

sub Add1(ByVal no as int32)
    no=no+100
end sub

sub Add2(ByRef no as int32)
    no=no+100
end sub

private sub button1_click(sender as object,e as eventargs)handles button1.click
    dim a as int32
    a=100
    Add1(a)
    msgbox ("a的值为:" & a)     '显示:a的值为100

    Add2(a)
    msgbox ("a的值为:" & a)     '显示:a的值为200,因为Add2中的参数no为ByRef,即
                                 '按地址传递,因此在Add2中对no进行修改后,将会导致
                                 '源参数a的值也被修改。
End Sub

 

ByVal是传递值 源数据不会被修改
你可以把这个值当作自己的局部变量来使用

ByRef是传递地址 , 源数据可能被修改
你对这个变量的操作将对你传入的那个变量产生影响,就像指针的感觉

0 0

相关博文

我的热门文章

img
取 消
img