![]() |
#2
m150932016282012-05-16 16:30
|

Sub addref(ByRef one As Integer, Optional ByVal two As Integer = 18)
one = one + two
System.Console.WriteLine("one+two={0}", one)
End Sub
Sub Main()
Dim a As Integer
Dim b As Integer
a = 10
b = 20
System.Console.WriteLine("调用add前,a={0}", a)
addref(a, b)
System.Console.WriteLine("调用add后,a={0},b={0}", a, b)
System.Console.ReadLine()
End Sub
one = one + two
System.Console.WriteLine("one+two={0}", one)
End Sub
Sub Main()
Dim a As Integer
Dim b As Integer
a = 10
b = 20
System.Console.WriteLine("调用add前,a={0}", a)
addref(a, b)
System.Console.WriteLine("调用add后,a={0},b={0}", a, b)
System.Console.ReadLine()
End Sub
只有本站会员才能查看附件,请 登录
为什么a和 b 都被 改变了呢, Sub addref(ByRef one As Integer, Optional ByVal two As Integer = 18) two 已经 被我 用 byval 声明了,这是 为什么