写给初学者:VB 中 ByRef 与 ByVal 参数传递方式的区别
来源:互联网 发布:淘宝网道闸哪家好 编辑:程序博客网 时间:2024/05/22 02:01
简而言之,ByRef 和 ByVal 的区别在于参数源是否可以被函数修改,前者(默认方式)是可以被修改的,而后者是不能被修改的。
例:
调用:
程序执行后的结果为:I love WYC!;This is b!
原因是:ByRef 类型的参数在函数过程中被重新赋值,所以函数调用结束后,a变量的值为新被赋予的“I love WYC!”,而作为 ByVal 类型的参数b,由于不能被程序修改,即使在函数过程中对该变量重新赋值,其值仍为函数调用前的“This is b!”。另外,声明 ByRef 类型的参数时,可以不声明为 ByRef <参数><类型>,而只用 <参数><类型> 即可, ByVal 则必须使用 ByVal <参数><类型>。
例:
Private Function Func(ByRef argv1 As String, ByVal argv2 As String)
argv1 = "I love WYC!"
argv2 = "I love WYC!"
End Function
argv1 = "I love WYC!"
argv2 = "I love WYC!"
End Function
Sub Main()
Dim a As String, b As String
a = "This is a!"
b = "This is b!"
Func a, b
MsgBox a & ";" & b
End Sub
Dim a As String, b As String
a = "This is a!"
b = "This is b!"
Func a, b
MsgBox a & ";" & b
End Sub
原因是:ByRef 类型的参数在函数过程中被重新赋值,所以函数调用结束后,a变量的值为新被赋予的“I love WYC!”,而作为 ByVal 类型的参数b,由于不能被程序修改,即使在函数过程中对该变量重新赋值,其值仍为函数调用前的“This is b!”。另外,声明 ByRef 类型的参数时,可以不声明为 ByRef <参数><类型>,而只用 <参数><类型> 即可, ByVal 则必须使用 ByVal <参数><类型>。
- 写给初学者:VB 中 ByRef 与 ByVal 参数传递方式的区别
- 数据搬运工-VB中参数(ByVal,ByRef)的传递
- Byval与Byref的区别
- ByVal与ByRef的区别
- ByVal 与 ByRef的区别
- byref与byval的区别
- VB中ByVal与ByRef有什么区别
- VB中ByVal和ByRef
- VB.NET 中 ByVal 和 ByRef 传参方法的区别
- ByVal和ByRef的区别
- ByVal和ByRef的区别
- Byval 和 Byref的区别
- vb.net中关于byval和byref的使用
- ASP byval byref 区别
- ByVal与ByRef
- (菜鸟成长记录)VB中的ByVal和ByRef的区别
- VB.Net的ByVal和ByRef --ByVal时的浅拷贝和深拷贝
- [转] VB.Net的ByVal和ByRef --ByVal时的浅拷贝和深拷贝
- 如何将多个表空间的数据导入到单个表空间(USER_A到USER_B)
- linux 网络配置
- 关于div的隐藏
- 移动老总遇到对手(笑话)
- 深入了解JUnit 4
- 写给初学者:VB 中 ByRef 与 ByVal 参数传递方式的区别
- 二叉树的链接表示
- ADO第一次亲密接触 -- ADO开发实践之一
- 时间操作
- 如何设置Path?
- 10-9告别单身生活 - 老柴心情日记
- 替换换行符/n为
- SqlParameter
- 防止对 Visual Basic .NET 或 C# 代码进行反相工程