Imports System
public class MainClass
Shared Sub Main()
Dim A As String = "Hello"
Dim B As String
B = A
Console.WriteLine(Chr(10) + "Initial state StringTests")
Console.WriteLine("Are A and B the same? " + (A Is B).ToString())
Console.WriteLine("A: " + A + " B: " + B)
FunctionPassStringByReference1(B)
Console.WriteLine("After FunctionPassStringByReference1")
Console.WriteLine("Are A and B the same? " + (A Is B).ToString())
Console.WriteLine("A: " + A + " B: " + B)
A = "Hello"
B = A
FunctionPassStringByReference2(B)
Console.WriteLine("After FunctionPassStringByReference2")
Console.WriteLine("Are A and B the same? " + (A Is B).ToString())
Console.WriteLine("A: " + A + " B: " + B)
A = "Hello"
B = A
FunctionPassStringByReference3(B)
Console.WriteLine("After FunctionPassStringByReference3")
Console.WriteLine("Are A and B the same? " + (A Is B).ToString())
Console.WriteLine("Are A and B equal? " + (A = B).ToString())
Console.WriteLine("A: " + A + " B: " + B)
A = "Hello"
B = A
FunctionPassStringByValue1(B)
Console.WriteLine("After FunctionPassStringByValue1")
Console.WriteLine("Are A and B the same? " + (A Is B).ToString())
Console.WriteLine("A: " + A + " B: " + B)
A = "Hello"
B = A
FunctionPassStringByValue2(B)
Console.WriteLine("After FunctionPassStringByValue2")
Console.WriteLine("Are A and B the same? " + (A Is B).ToString())
Console.WriteLine("A: " + A + " B: " + B)
End Sub
Shared Public Sub FunctionPassStringByReference1(ByRef Y As String)
Mid$(Y, 1, 1) = "A"
End Sub
Shared Public Sub FunctionPassStringByReference2(ByRef Y As String)
Y = "Hello"
End Sub
Shared Public Sub FunctionPassStringByReference3(ByRef Y As String)
Mid$(Y, 1, 1) = "H"
End Sub
Shared Public Sub FunctionPassStringByValue1(ByVal Y As String)
Mid$(Y, 1, 1) = "A"
End Sub
Shared Public Sub FunctionPassStringByValue2(ByVal Y As String)
Y = "Hello"
End Sub
End Class