asp中Byval与Byref的区别

2019-01-14 07:07:45丽君

5

6

结 论:

注意:子程序TestBy(ByVal T)中T变量声明方式是ByVal

运行结果子程序没有影响到A的值

注意:子程序TestBy(ByRef T)中T变量的声明方式是ByRef

运行结果A的值通过子程序发生了改变

看完了,上面的比较就知道说明意思了吧。

1、引用参数(ref)在可以作为引用参数在函数成员调用中传递之前,必须已明确赋值,而输出参数(out)在可以作为输出参数在函数成员调用中传递之前不一定要明确赋值,在该函数成员正常返回前都必须已明确赋值。
2、在函数内部,引用参数(ref)被视为初始已赋值,输出参数(out)被视为初始未赋值。 
3、默认地,C#中的所有参数都是值传递。只有在参数的修饰符中明确包含out或ref,才是引用传递。但是需要知道的是,当参数的类型是引用类型时,你传递的是一个对象的引用而不是实际的对象。
实例: 

sub Add1(ByVal no as int32)
no=no+100
end sub