byval 对引用类型无效么??

2303191 2007-04-25 10:10:47
Public Class Class2
Public a As Integer

End Class



Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim a As New Class2
a.a = 5
ccc(a)
TextBox1.Text = a.a


End Sub


Public Sub ccc(ByVal b As Class2)


b.a = 3



End Sub


End Class


输出3
...全文
126 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
magicbacon 2007-04-26
  • 打赏
  • 举报
回复
在该函数运行时,形参和实参是不同的变量,它们在内存中位于不同的位置,形参将实参的内容复制一份,在该函数运行结束的时候形参被释放,而实参内容不会改变。
magicbacon 2007-04-26
  • 打赏
  • 举报
回复
我的理解是这里的b只是形参,所以只存在一个引用a,不管用ByRef还是ByVal都是输出3。
cfreez 2007-04-26
  • 打赏
  • 举报
回复
right
byref

16,553

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧