VB: ByVal是什么意思,怎么用
2016-06-28 · 知道合伙人互联网行家
关注
展开全部
在Visual Basic中,按值传递方式通过关键字 ByVal (By Value)来实现。也就是说,在定义通用过程时,如果形参前面有关键字ByVal,则该参数用传值方式传送,否则即以引用(即按地址)方式传递。
例如:
Dim s = 1
Private Sub Form_Load()
Debug.print increment(s)
Debug.print s
End Sub
Private Function increment(ByVal x As Integer)
x=x+1
Debug.print x
End Function
输出结果:
2
1
这里的形参x前有关键字ByVal,调用时以按值方式传递实参。
也就是说,外部的变量数值不会因为它的数值的改变而改变。
与之相对应的则为ByRef关键字。
使用 ByRef 关键字时,参数的传递方式就是按地址传递。
注意:
1.按值传递方式只能用于外部向被调用过程内部传递数据。
2.按地址传递方式可以实现数据的双向传递。
例如:
Dim s = 1
Private Sub Form_Load()
Debug.print increment(s)
Debug.print s
End Sub
Private Function increment(ByVal x As Integer)
x=x+1
Debug.print x
End Function
输出结果:
2
1
这里的形参x前有关键字ByVal,调用时以按值方式传递实参。
也就是说,外部的变量数值不会因为它的数值的改变而改变。
与之相对应的则为ByRef关键字。
使用 ByRef 关键字时,参数的传递方式就是按地址传递。
注意:
1.按值传递方式只能用于外部向被调用过程内部传递数据。
2.按地址传递方式可以实现数据的双向传递。
追问
这么快就解决了我的问题,百度知道不错。辛苦你了谢谢
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询