(菜鸟成长记录)VB中的ByVal和ByRef的区别

来源:互联网 发布:明解c语言第三版pdf 编辑:程序博客网 时间:2024/05/17 04:43

本身是学Java出身的,奈何求职后公司需要转成了VB.NET方向,没办法,学呗。

刚接触VB,挺新奇的,居然没有花括号,恩,亦可赛艇。

看了一下教材,有的地方说的太正式了,有点看不懂。

刚刚弄明白了一个小知识点。ByVal和ByRef的区别。


ByVal是按值传递,形参的改变不会造成实参的改变。

ByRef是按地址传递,形参的改变会造成实参的改变。


举个例子:

Module Module1    Sub Main()        Dim i As Integer = 10        value1(i)        'ref1(i)        default1(i)        Console.WriteLine(i)
    End Sub    Sub value1(ByVal i As Integer)        i = 5        Console.WriteLine(i)    End Sub    Sub ref1(ByRef i As Integer)        i = 15    End Sub    Sub default1(i As Integer)        i = 20    End SubEnd Module
'value1输出的结果i=10
'ref1输出的结果i=15
'如果不指定,默认似乎是ByVal的


原创粉丝点击