您现在的位置是:主页 > www.sb688.com > VREF中的BYREF和BYVAL是什么意思?

VREF中的BYREF和BYVAL是什么意思?

时间:2019-09-28 02:58  来源:线上365bet体育  阅读次数:

全部展开
当变量传递给函数过程(或子例程)时,ByRef和ByVal可以更改每个变量的值,因此了解如何保护变量的原始值很重要。
VB有两个关键字ByRef和ByVal,它们提供或拒绝更改变量内容的权限。
默认情况下,VB通过地址(关键字ByRef)将信息传递给功能过程(或子例程)。调用参考函数时,函数参数是显式的。
因此,当函数更改参数值时,原始值也会更改。
可以通过忽略MyAverage num1函数声明参数的ByVal关键字来实现此结果。
如果在函数过程中更改原始值,则变量值的默认值为ByRef,因此您无需在参数之前显式添加ByRef关键字。
如果在参数名称前使用ByVal关键字,则VB将按值传递参数。也就是说,VB复制原始数据的副本,并将复制的值传递给该函数。如果函数更改了参数值,则原始数据尚未更改,仅复制的值被更改。
这就是为什么MyAverage函数更改变量num1的值而不更改原始值的原因。