Imports System
Public Class MainClass
Shared Sub Main(ByVal args As String())
Dim number1 As Integer = 2
Console.WriteLine("Passing a value-type argument by value:")
Console.WriteLine("Before calling SquareByValue, " & _
"number1 is {0}", number1)
SquareByValue(number1) ' passes number1 by value
Console.WriteLine("After returning from SquareByValue, " & _
"number1 is {0}" & vbCrLf, number1)
Dim number2 As Integer = 2
Console.WriteLine("Passing a value-type argument" & _
" by reference:")
Console.WriteLine("Before calling SquareByReference, " & _
"number2 is {0}", number2)
SquareByReference(number2) ' passes number2 by reference
Console.WriteLine("After returning from " & _
"SquareByReference, number2 is {0}" & vbCrLf, number2)
Dim number3 As Integer = 2
Console.WriteLine("Passing a value-type argument" & _
" by reference, but in parentheses:")
Console.WriteLine("Before calling SquareByReference " & _
"using parentheses, number3 is {0}", number3)
SquareByReference((number3)) ' passes number3 by value
Console.WriteLine("After returning from " & _
"SquareByReference, number3 is {0}", number3)
End Sub
' squares number by value (note ByVal keyword)
Shared Sub SquareByValue(ByVal number As Integer)
Console.WriteLine("After entering SquareByValue, " & _
"number is {0}", number)
number *= number
Console.WriteLine("Before exiting SquareByValue, " & _
"number is {0}", number)
End Sub ' SquareByValue
' squares number by reference (note ByRef keyword)
Shared Sub SquareByReference(ByRef number As Integer)
Console.WriteLine("After entering SquareByReference" & _
", number is {0}", number)
number *= number
Console.WriteLine("Before exiting SquareByReference" & _
", number is {0}", number)
End Sub ' SquareByReference
End Class
|