区别有:1、意思上的区别;2、赋值的区别;3、用法的区别。按地址传递(ByRef)是指主程序直接将数据交给子过程(过程中定义传递方式),主程序输出的是修改后的值。按值传递(Byval),是指将主程序的值(副本一份)给子过程,主程序输出的仍是原值。
1、意思上的区别
按地址传递(ByRef),是指主程序直接将数据交给子过程(过程中定义传递方式),在过程中修改、调试、返回给主程序,主程序输出的是修改后的值。
按值传递(Byval),是指将主程序的值(副本一份)给子过程,过程对副本操作,主程序输出的仍是原值。若想输出值传递后的值,可在子过程中设置输出。
2、赋值的区别
在函数内部,引用参数(ref)被视为初始已赋值,输出参数(out)被视为初始未赋值。调用函数以后,按值传递的Z=300,而按地址传递的E=200,e即使被赋值,因为它是根据地址进行传递的,所以值依然不变。
3、用法的区别
引用参数(ref)在可以作为引用参数在函数成员调用中传递之前,必须已明确赋值,而输出参数(out)在可以作为输出参数在函数成员调用中传递之前不一定要明确赋值,在该函数成员正常返回前都必须已明确赋值。
延伸阅读:
什么是vb?
Visual Basic(简称VB)是Microsoft开发的一种面向对象的编程语言。 使用 Visual Basic即可快速、轻松地创建类型安全的.NET应用。
“Visual” 指的是开发图形用户界面 (GUI) 的方法——不需编写大量代码去描述界面元素的外观和位置,而只要把预先建立的对象add到屏幕上的一点即可。 “Basic”指的是 BASIC (Beginners All-Purpose Symbolic Instruction Code) 语言,是一种在计算技术发展历史上应用得较为广泛的语言。
Visual Basic源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建Active X控件,用于高效生成类型安全和面向对象的应用程序。程序员可以轻松的使用VB提供的组件快速建立一个应用程序。
文章标题:vb中byval和byref的区别,发布者:小编,转载请注明出处:https://worktile.com/kb/p/38566