<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.vbex.ru/index.php?action=history&amp;feed=atom&amp;title=VB.Net%2FLanguage_Basics%2FByVal</id>
		<title>VB.Net/Language Basics/ByVal - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.vbex.ru/index.php?action=history&amp;feed=atom&amp;title=VB.Net%2FLanguage_Basics%2FByVal"/>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VB.Net/Language_Basics/ByVal&amp;action=history"/>
		<updated>2026-04-06T00:11:48Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VB.Net/Language_Basics/ByVal&amp;diff=248&amp;oldid=prev</id>
		<title> в 16:40, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VB.Net/Language_Basics/ByVal&amp;diff=248&amp;oldid=prev"/>
				<updated>2010-05-26T16:40:06Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 16:40, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VB.Net/Language_Basics/ByVal&amp;diff=249&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VB.Net/Language_Basics/ByVal&amp;diff=249&amp;oldid=prev"/>
				<updated>2010-05-26T12:42:21Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Array parameter passed by Value and by Reference==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;&lt;br /&gt;
Imports System&lt;br /&gt;
public class MainClass&lt;br /&gt;
   Shared Sub Main()&lt;br /&gt;
        Dim A As Integer() = {1, 2, 3, 4, 5}&lt;br /&gt;
        Dim B As Integer()&lt;br /&gt;
        B = A&lt;br /&gt;
        Console.WriteLine(&amp;quot;Initial state ArrayTests&amp;quot;)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Are A and B the same? &amp;quot; + (A Is B).ToString())&lt;br /&gt;
        Console.WriteLine(&amp;quot;Array A:&amp;quot;)&lt;br /&gt;
        DisplayArray(A)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Array B&amp;quot;)&lt;br /&gt;
        DisplayArray(B)&lt;br /&gt;
        FunctionPassArrayByReference1(B)&lt;br /&gt;
        Console.WriteLine(&amp;quot;After FunctionPassArrayByReference1&amp;quot;)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Are A and B the same? &amp;quot; + (A Is B).ToString())&lt;br /&gt;
        Console.WriteLine(&amp;quot;Array A:&amp;quot;)&lt;br /&gt;
        DisplayArray(A)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Array B&amp;quot;)&lt;br /&gt;
        DisplayArray(B)&lt;br /&gt;
        A(0) = 1&lt;br /&gt;
        B = A&lt;br /&gt;
        FunctionPassArrayByReference2(B)&lt;br /&gt;
        Console.WriteLine(&amp;quot;After FunctionPassArrayByReference2&amp;quot;)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Are A and B the same? &amp;quot; + (A Is B).ToString())&lt;br /&gt;
        Console.WriteLine(&amp;quot;Array A:&amp;quot;)&lt;br /&gt;
        DisplayArray(A)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Array B&amp;quot;)&lt;br /&gt;
        DisplayArray(B)&lt;br /&gt;
        A(0) = 1&lt;br /&gt;
        B = A&lt;br /&gt;
        FunctionPassArrayByValue1(B)&lt;br /&gt;
        Console.WriteLine(&amp;quot;After FunctionPassArrayByValue1&amp;quot;)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Are A and B the same? &amp;quot; + (A Is B).ToString())&lt;br /&gt;
        Console.WriteLine(&amp;quot;Array A:&amp;quot;)&lt;br /&gt;
        DisplayArray(A)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Array B&amp;quot;)&lt;br /&gt;
        DisplayArray(B)&lt;br /&gt;
        A(0) = 1&lt;br /&gt;
        B = A&lt;br /&gt;
        FunctionPassArrayByValue2(B)&lt;br /&gt;
        Console.WriteLine(&amp;quot;After FunctionPassArrayByValue2&amp;quot;)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Are A and B the same? &amp;quot; + (A Is B).ToString())&lt;br /&gt;
        Console.WriteLine(&amp;quot;Array A:&amp;quot;)&lt;br /&gt;
        DisplayArray(A)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Array B&amp;quot;)&lt;br /&gt;
        DisplayArray(B)&lt;br /&gt;
&lt;br /&gt;
   End Sub&lt;br /&gt;
   Shared Public Sub FunctionPassArrayByReference1(ByRef Y As Integer())&lt;br /&gt;
        Y(0) = 5&lt;br /&gt;
    End Sub&lt;br /&gt;
   Shared Public Sub FunctionPassArrayByReference2(ByRef Y As Integer())&lt;br /&gt;
        Dim NewArray As Integer() = {2, 3, 4, 5, 6}&lt;br /&gt;
        Y = NewArray&lt;br /&gt;
    End Sub&lt;br /&gt;
   Shared Public Sub FunctionPassArrayByValue1(ByVal Y As Integer())&lt;br /&gt;
        Y(0) = 5&lt;br /&gt;
    End Sub&lt;br /&gt;
   Shared Public Sub FunctionPassArrayByValue2(ByVal Y As Integer())&lt;br /&gt;
        Dim NewArray As Integer() = {2, 3, 4, 5, 6}&lt;br /&gt;
        Y = NewArray&lt;br /&gt;
    End Sub&lt;br /&gt;
   Shared Public Sub DisplayArray(ByVal Y As Integer())&lt;br /&gt;
        Dim X As Integer&lt;br /&gt;
        For X = 0 To UBound(Y)&lt;br /&gt;
            Console.Write(Y(X).ToString)&lt;br /&gt;
            If X &amp;lt;&amp;gt; UBound(Y) Then&lt;br /&gt;
                Console.Write(&amp;quot;, &amp;quot;)&lt;br /&gt;
            Else&lt;br /&gt;
                Console.WriteLine()&lt;br /&gt;
            End If&lt;br /&gt;
        Next&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Array passed By Value==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;&lt;br /&gt;
Imports System&lt;br /&gt;
Public Class MainClass&lt;br /&gt;
    Shared Sub Main(ByVal args As String())&lt;br /&gt;
      Dim i As Integer&lt;br /&gt;
      Dim firstArray As Integer()&lt;br /&gt;
      Dim firstArrayCopy As Integer()&lt;br /&gt;
      firstArray = New Integer() {1, 2, 3}&lt;br /&gt;
      firstArrayCopy = firstArray&lt;br /&gt;
      Console.WriteLine(&amp;quot;Test passing array reference using ByVal.&amp;quot;)&lt;br /&gt;
      Console.WriteLine(&amp;quot;Contents of firstArray before calling FirstDouble: &amp;quot;)&lt;br /&gt;
      For i = 0 To firstArray.GetUpperBound(0)&lt;br /&gt;
         Console.WriteLine(firstArray(i))&lt;br /&gt;
      Next&lt;br /&gt;
      &amp;quot; pass firstArray using ByVal&lt;br /&gt;
      FirstDouble(firstArray)&lt;br /&gt;
      Console.WriteLine(&amp;quot;Contents of firstArray after calling FirstDouble: &amp;quot;)&lt;br /&gt;
      &amp;quot; print contents of firstArray&lt;br /&gt;
      For i = 0 To firstArray.GetUpperBound(0)&lt;br /&gt;
         Console.WriteLine(firstArray(i) &amp;amp; &amp;quot; &amp;quot;)&lt;br /&gt;
      Next&lt;br /&gt;
      &amp;quot; test whether reference was changed by FirstDouble&lt;br /&gt;
      If firstArray Is firstArrayCopy Then&lt;br /&gt;
         Console.WriteLine(&amp;quot;The references are equal.&amp;quot;)&lt;br /&gt;
      Else&lt;br /&gt;
         Console.WriteLine(&amp;quot;The references are not equal.&amp;quot;)&lt;br /&gt;
      End If&lt;br /&gt;
&lt;br /&gt;
    End Sub&lt;br /&gt;
   &amp;quot; procedure modifies elements of array and assigns &lt;br /&gt;
   &amp;quot; new reference (note ByVal)&lt;br /&gt;
   Shared Sub FirstDouble(ByVal array As Integer())&lt;br /&gt;
      Dim i As Integer&lt;br /&gt;
      &amp;quot; double each element value&lt;br /&gt;
      For i = 0 To array.GetUpperBound(0)&lt;br /&gt;
         array(i) *= 2&lt;br /&gt;
      Next&lt;br /&gt;
      &amp;quot; create new reference, assign it to array&lt;br /&gt;
      array = New Integer() {11, 12, 13}&lt;br /&gt;
   End Sub&lt;br /&gt;
End Class&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Function with pass by value Parameter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;&lt;br /&gt;
Imports System&lt;br /&gt;
Public Class MainClass&lt;br /&gt;
  Shared Sub Main()&lt;br /&gt;
    Dim A() As String = {&amp;quot;HELLO&amp;quot;, &amp;quot;GOODBYE&amp;quot;}&lt;br /&gt;
    Console.WriteLine(&amp;quot;Original first item in array is: &amp;quot; _&lt;br /&gt;
      &amp;amp; A(0))&lt;br /&gt;
    Console.WriteLine(&amp;quot;Original second item in array is: &amp;quot; _&lt;br /&gt;
      &amp;amp; A(1))&lt;br /&gt;
    AFunction(A)&lt;br /&gt;
    Console.WriteLine(&amp;quot;After passing by value first item in array now is: &amp;quot; _&lt;br /&gt;
      &amp;amp; A(0))&lt;br /&gt;
    Console.WriteLine(&amp;quot;After passing by value second item in array is: &amp;quot; _&lt;br /&gt;
      &amp;amp; A(1))&lt;br /&gt;
  End Sub&lt;br /&gt;
  Shared Sub AFunction(ByVal Foo As String())&lt;br /&gt;
    Foo(0) = &amp;quot;GOODBYE&amp;quot;&lt;br /&gt;
    Foo(1) = &amp;quot;HELLO&amp;quot;&lt;br /&gt;
  End Sub&lt;br /&gt;
End Class&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Modify Array Element By Value ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;&lt;br /&gt;
Imports System&lt;br /&gt;
Public Class MainClass&lt;br /&gt;
    Shared Sub Main(ByVal args As String())&lt;br /&gt;
      Dim array1 As Integer() = New Integer() {1, 2, 3, 4, 5}&lt;br /&gt;
      Dim i As Integer&lt;br /&gt;
      Console.WriteLine( &amp;quot;The values of the original array are:&amp;quot; &amp;amp; vbCrLf )&lt;br /&gt;
      &amp;quot; display original elements of array1&lt;br /&gt;
      For i = 0 To array1.GetUpperBound(0)&lt;br /&gt;
         Console.WriteLine(  &amp;quot;  &amp;quot; &amp;amp; array1(i) )&lt;br /&gt;
      Next&lt;br /&gt;
      Console.WriteLine(  vbCrLf &amp;amp; vbCrLf &amp;amp; _&lt;br /&gt;
         &amp;quot;EFFECTS OF PASSING ARRAY ELEMENT &amp;quot; &amp;amp; _&lt;br /&gt;
         &amp;quot;BY VALUE:&amp;quot; &amp;amp; vbCrLf &amp;amp; vbCrLf &amp;amp; &amp;quot;array1(3) &amp;quot; &amp;amp; _&lt;br /&gt;
         &amp;quot;before ModifyElementByVal: &amp;quot; &amp;amp; array1(3) )&lt;br /&gt;
      &amp;quot; array element passed by value&lt;br /&gt;
      ModifyElementByVal(array1(3))&lt;br /&gt;
&lt;br /&gt;
    End Sub&lt;br /&gt;
   Shared Sub ModifyElementByVal(ByVal element As Integer)&lt;br /&gt;
      Console.WriteLine(  vbCrLf &amp;amp; &amp;quot;Value received in &amp;quot; &amp;amp; _&lt;br /&gt;
         &amp;quot;ModifyElementByVal: &amp;quot; &amp;amp; element )&lt;br /&gt;
      element *= 2&lt;br /&gt;
      Console.WriteLine(  vbCrLf &amp;amp; &amp;quot;Value calculated in &amp;quot; &amp;amp; _&lt;br /&gt;
         &amp;quot;ModifyElementByVal: &amp;quot; &amp;amp; element )&lt;br /&gt;
   End Sub &amp;quot; ModifyElementByVal&lt;br /&gt;
End Class&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Object parameter passed by Value and by Reference==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;&lt;br /&gt;
Imports System&lt;br /&gt;
public class MainClass&lt;br /&gt;
   Shared Sub Main()&lt;br /&gt;
        Dim A As New MyObject()&lt;br /&gt;
        Dim B As MyObject = A&lt;br /&gt;
        A.X = 1&lt;br /&gt;
        Console.WriteLine(&amp;quot;Initial state&amp;quot;)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Are A and B the same? &amp;quot; + (A Is B).ToString())&lt;br /&gt;
        Console.WriteLine(&amp;quot;A.x: &amp;quot; + A.X.ToString() + &amp;quot; B.x &amp;quot; + B.X.ToString())&lt;br /&gt;
        FunctionPassObjectByReference1(B)&lt;br /&gt;
        Console.WriteLine(&amp;quot;After FobjByRef1&amp;quot;)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Are A and B the same? &amp;quot; + (A Is B).ToString())&lt;br /&gt;
        Console.WriteLine(&amp;quot;A.x: &amp;quot; + A.X.ToString() + &amp;quot; B.x &amp;quot; + B.X.ToString())&lt;br /&gt;
        A.X = 1&lt;br /&gt;
        B = A&lt;br /&gt;
        FunctionPassObjectByReference2(B)&lt;br /&gt;
        Console.WriteLine(&amp;quot;After FobjByRef2&amp;quot;)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Are A and B the same? &amp;quot; + (A Is B).ToString())&lt;br /&gt;
        Console.WriteLine(&amp;quot;A.x: &amp;quot; + A.X.ToString() + &amp;quot; B.x &amp;quot; + B.X.ToString())&lt;br /&gt;
        A.X = 1&lt;br /&gt;
        B = A&lt;br /&gt;
        FunctionPassObjectByValue1(B)&lt;br /&gt;
        Console.WriteLine(&amp;quot;After FobjByVal1&amp;quot;)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Are A and B the same? &amp;quot; + (A Is B).ToString())&lt;br /&gt;
        Console.WriteLine(&amp;quot;A.x: &amp;quot; + A.X.ToString() + &amp;quot; B.x &amp;quot; + B.X.ToString())&lt;br /&gt;
        A.X = 1&lt;br /&gt;
        B = A&lt;br /&gt;
        FunctionPassObjectByValue2(B)&lt;br /&gt;
        Console.WriteLine(&amp;quot;After FobjByVal2&amp;quot;)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Are A and B the same? &amp;quot; + (A Is B).ToString())&lt;br /&gt;
        Console.WriteLine(&amp;quot;A.x: &amp;quot; + A.X.ToString() + &amp;quot; B.x &amp;quot; + B.X.ToString())&lt;br /&gt;
        &lt;br /&gt;
   End Sub&lt;br /&gt;
   Shared Public Sub FunctionPassObjectByReference1(ByRef Y As MyObject)&lt;br /&gt;
        Y.X = 5&lt;br /&gt;
    End Sub&lt;br /&gt;
   Shared Public Sub FunctionPassObjectByReference2(ByRef Y As MyObject)&lt;br /&gt;
        Y = New MyObject()&lt;br /&gt;
        Y.X = 5&lt;br /&gt;
    End Sub&lt;br /&gt;
   Shared Public Sub FunctionPassObjectByValue1(ByVal Y As MyObject)&lt;br /&gt;
        Y.X = 5&lt;br /&gt;
    End Sub&lt;br /&gt;
   Shared Public Sub FunctionPassObjectByValue2(ByVal Y As MyObject)&lt;br /&gt;
        Y = New MyObject()&lt;br /&gt;
        Y.X = 5&lt;br /&gt;
    End Sub&lt;br /&gt;
    Class MyObject&lt;br /&gt;
        Public X As Integer&lt;br /&gt;
    End Class&lt;br /&gt;
End Class&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Passing arrays and individual array elements to procedures==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;&lt;br /&gt;
Imports System&lt;br /&gt;
Public Class MainClass&lt;br /&gt;
    Shared Sub Main(ByVal args As String())&lt;br /&gt;
      Dim array1 As Integer() = New Integer() {1, 2, 3, 4, 5}&lt;br /&gt;
      Dim i As Integer&lt;br /&gt;
      Console.WriteLine( &amp;quot;The values of the original array are:&amp;quot; &amp;amp; vbCrLf )&lt;br /&gt;
      &amp;quot; display original elements of array1&lt;br /&gt;
      For i = 0 To array1.GetUpperBound(0)&lt;br /&gt;
         Console.WriteLine(  &amp;quot;  &amp;quot; &amp;amp; array1(i) )&lt;br /&gt;
      Next&lt;br /&gt;
      ModifyArray(array1) &amp;quot; array is passed by reference&lt;br /&gt;
      Console.WriteLine(  vbCrLf &amp;amp; _&lt;br /&gt;
         &amp;quot;The values of the modified array are:&amp;quot; &amp;amp; vbCrLf )&lt;br /&gt;
      &amp;quot; display modified elements of array1&lt;br /&gt;
      For i = 0 To array1.GetUpperBound(0)&lt;br /&gt;
         Console.WriteLine(&amp;quot;  &amp;quot; &amp;amp; array1(i) )&lt;br /&gt;
      Next&lt;br /&gt;
    End Sub&lt;br /&gt;
   &amp;quot; procedure modifies array it receives (note ByVal)&lt;br /&gt;
   Shared Sub ModifyArray(ByVal arrayParameter As Integer())&lt;br /&gt;
      Dim j As Integer&lt;br /&gt;
      For j = 0 To arrayParameter.GetUpperBound(0)&lt;br /&gt;
         arrayParameter(j) *= 2&lt;br /&gt;
      Next&lt;br /&gt;
   End Sub &amp;quot; ModifyArray&lt;br /&gt;
&lt;br /&gt;
End Class&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Squares three values ByVal and ByRef, displays results==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;&lt;br /&gt;
Imports System&lt;br /&gt;
Public Class MainClass&lt;br /&gt;
    Shared Sub Main(ByVal args As String())&lt;br /&gt;
      Dim number1 As Integer = 2&lt;br /&gt;
      Console.WriteLine(&amp;quot;Passing a value-type argument by value:&amp;quot;)&lt;br /&gt;
      Console.WriteLine(&amp;quot;Before calling SquareByValue, &amp;quot; &amp;amp; _&lt;br /&gt;
         &amp;quot;number1 is {0}&amp;quot;, number1)&lt;br /&gt;
      SquareByValue(number1)  &amp;quot; passes number1 by value&lt;br /&gt;
      Console.WriteLine(&amp;quot;After returning from SquareByValue, &amp;quot; &amp;amp; _&lt;br /&gt;
         &amp;quot;number1 is {0}&amp;quot; &amp;amp; vbCrLf, number1)&lt;br /&gt;
      Dim number2 As Integer = 2&lt;br /&gt;
      Console.WriteLine(&amp;quot;Passing a value-type argument&amp;quot; &amp;amp; _&lt;br /&gt;
         &amp;quot; by reference:&amp;quot;)&lt;br /&gt;
      Console.WriteLine(&amp;quot;Before calling SquareByReference, &amp;quot; &amp;amp; _&lt;br /&gt;
         &amp;quot;number2 is {0}&amp;quot;, number2)&lt;br /&gt;
      SquareByReference(number2) &amp;quot; passes number2 by reference&lt;br /&gt;
      Console.WriteLine(&amp;quot;After returning from &amp;quot; &amp;amp; _&lt;br /&gt;
         &amp;quot;SquareByReference, number2 is {0}&amp;quot; &amp;amp; vbCrLf, number2)&lt;br /&gt;
      Dim number3 As Integer = 2&lt;br /&gt;
      Console.WriteLine(&amp;quot;Passing a value-type argument&amp;quot; &amp;amp; _&lt;br /&gt;
         &amp;quot; by reference, but in parentheses:&amp;quot;)&lt;br /&gt;
      Console.WriteLine(&amp;quot;Before calling SquareByReference &amp;quot; &amp;amp; _&lt;br /&gt;
         &amp;quot;using parentheses, number3 is {0}&amp;quot;, number3)&lt;br /&gt;
      SquareByReference((number3)) &amp;quot; passes number3 by value&lt;br /&gt;
      Console.WriteLine(&amp;quot;After returning from &amp;quot; &amp;amp; _&lt;br /&gt;
         &amp;quot;SquareByReference, number3 is {0}&amp;quot;, number3)&lt;br /&gt;
    End Sub&lt;br /&gt;
&lt;br /&gt;
   &amp;quot; squares number by value (note ByVal keyword)&lt;br /&gt;
   Shared Sub SquareByValue(ByVal number As Integer)&lt;br /&gt;
      Console.WriteLine(&amp;quot;After entering SquareByValue, &amp;quot; &amp;amp; _&lt;br /&gt;
         &amp;quot;number is {0}&amp;quot;, number)&lt;br /&gt;
      number *= number&lt;br /&gt;
      Console.WriteLine(&amp;quot;Before exiting SquareByValue, &amp;quot; &amp;amp; _&lt;br /&gt;
         &amp;quot;number is {0}&amp;quot;, number)&lt;br /&gt;
   End Sub &amp;quot; SquareByValue&lt;br /&gt;
   &amp;quot; squares number by reference (note ByRef keyword)&lt;br /&gt;
   Shared Sub SquareByReference(ByRef number As Integer)&lt;br /&gt;
      Console.WriteLine(&amp;quot;After entering SquareByReference&amp;quot; &amp;amp; _&lt;br /&gt;
         &amp;quot;, number is {0}&amp;quot;, number)&lt;br /&gt;
      number *= number&lt;br /&gt;
      Console.WriteLine(&amp;quot;Before exiting SquareByReference&amp;quot; &amp;amp; _&lt;br /&gt;
         &amp;quot;, number is {0}&amp;quot;, number)&lt;br /&gt;
   End Sub &amp;quot; SquareByReference&lt;br /&gt;
End Class&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==String parameter passed by Value and by Reference==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;&lt;br /&gt;
Imports System&lt;br /&gt;
public class MainClass&lt;br /&gt;
   Shared Sub Main()&lt;br /&gt;
        Dim A As String = &amp;quot;Hello&amp;quot;&lt;br /&gt;
        Dim B As String&lt;br /&gt;
        B = A&lt;br /&gt;
        Console.WriteLine(Chr(10) + &amp;quot;Initial state StringTests&amp;quot;)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Are A and B the same? &amp;quot; + (A Is B).ToString())&lt;br /&gt;
        Console.WriteLine(&amp;quot;A: &amp;quot; + A + &amp;quot; B: &amp;quot; + B)&lt;br /&gt;
        FunctionPassStringByReference1(B)&lt;br /&gt;
        Console.WriteLine(&amp;quot;After FunctionPassStringByReference1&amp;quot;)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Are A and B the same? &amp;quot; + (A Is B).ToString())&lt;br /&gt;
        Console.WriteLine(&amp;quot;A: &amp;quot; + A + &amp;quot; B: &amp;quot; + B)&lt;br /&gt;
        A = &amp;quot;Hello&amp;quot;&lt;br /&gt;
        B = A&lt;br /&gt;
        FunctionPassStringByReference2(B)&lt;br /&gt;
        Console.WriteLine(&amp;quot;After FunctionPassStringByReference2&amp;quot;)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Are A and B the same? &amp;quot; + (A Is B).ToString())&lt;br /&gt;
        Console.WriteLine(&amp;quot;A: &amp;quot; + A + &amp;quot; B: &amp;quot; + B)&lt;br /&gt;
        A = &amp;quot;Hello&amp;quot;&lt;br /&gt;
        B = A&lt;br /&gt;
        FunctionPassStringByReference3(B)&lt;br /&gt;
        Console.WriteLine(&amp;quot;After FunctionPassStringByReference3&amp;quot;)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Are A and B the same? &amp;quot; + (A Is B).ToString())&lt;br /&gt;
        Console.WriteLine(&amp;quot;Are A and B equal? &amp;quot; + (A = B).ToString())&lt;br /&gt;
        Console.WriteLine(&amp;quot;A: &amp;quot; + A + &amp;quot; B: &amp;quot; + B)&lt;br /&gt;
        A = &amp;quot;Hello&amp;quot;&lt;br /&gt;
        B = A&lt;br /&gt;
        FunctionPassStringByValue1(B)&lt;br /&gt;
        Console.WriteLine(&amp;quot;After FunctionPassStringByValue1&amp;quot;)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Are A and B the same? &amp;quot; + (A Is B).ToString())&lt;br /&gt;
        Console.WriteLine(&amp;quot;A: &amp;quot; + A + &amp;quot; B: &amp;quot; + B)&lt;br /&gt;
        A = &amp;quot;Hello&amp;quot;&lt;br /&gt;
        B = A&lt;br /&gt;
        FunctionPassStringByValue2(B)&lt;br /&gt;
        Console.WriteLine(&amp;quot;After FunctionPassStringByValue2&amp;quot;)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Are A and B the same? &amp;quot; + (A Is B).ToString())&lt;br /&gt;
        Console.WriteLine(&amp;quot;A: &amp;quot; + A + &amp;quot; B: &amp;quot; + B)&lt;br /&gt;
   End Sub&lt;br /&gt;
   Shared Public Sub FunctionPassStringByReference1(ByRef Y As String)&lt;br /&gt;
        Mid$(Y, 1, 1) = &amp;quot;A&amp;quot;&lt;br /&gt;
    End Sub&lt;br /&gt;
   Shared  Public Sub FunctionPassStringByReference2(ByRef Y As String)&lt;br /&gt;
        Y = &amp;quot;Hello&amp;quot;&lt;br /&gt;
    End Sub&lt;br /&gt;
   Shared  Public Sub FunctionPassStringByReference3(ByRef Y As String)&lt;br /&gt;
        Mid$(Y, 1, 1) = &amp;quot;H&amp;quot;&lt;br /&gt;
    End Sub&lt;br /&gt;
   Shared  Public Sub FunctionPassStringByValue1(ByVal Y As String)&lt;br /&gt;
        Mid$(Y, 1, 1) = &amp;quot;A&amp;quot;&lt;br /&gt;
    End Sub&lt;br /&gt;
   Shared  Public Sub FunctionPassStringByValue2(ByVal Y As String)&lt;br /&gt;
        Y = &amp;quot;Hello&amp;quot;&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Structure parameter passed by Value and by Reference==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;&lt;br /&gt;
Imports System&lt;br /&gt;
public class MainClass&lt;br /&gt;
   Shared Sub Main()&lt;br /&gt;
        Dim A As MyStruct&lt;br /&gt;
        Dim B As MyStruct&lt;br /&gt;
        A.X = 1&lt;br /&gt;
        B = A&lt;br /&gt;
        Console.WriteLine(&amp;quot;Initial state StructTests&amp;quot;)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Are A and B the same? &amp;quot; + (A.Equals(B)).ToString())&lt;br /&gt;
        Console.WriteLine(&amp;quot;A.x: &amp;quot; + A.X.ToString() + &amp;quot; B.x &amp;quot; + B.X.ToString())&lt;br /&gt;
        FunctionPassStructureByReference1(B)&lt;br /&gt;
        Console.WriteLine(&amp;quot;After FunctionPassStructureByReference1&amp;quot;)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Are A and B the same? &amp;quot; + (A.Equals(B)).ToString())&lt;br /&gt;
        Console.WriteLine(&amp;quot;A.x: &amp;quot; + A.X.ToString() + &amp;quot; B.x &amp;quot; + B.X.ToString())&lt;br /&gt;
        A.X = 1&lt;br /&gt;
        B = A&lt;br /&gt;
        FunctionPassStructureByReference2(B)&lt;br /&gt;
        Console.WriteLine(&amp;quot;After FunctionPassStructureByReference2&amp;quot;)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Are A and B the same? &amp;quot; + (A.Equals(B)).ToString())&lt;br /&gt;
        Console.WriteLine(&amp;quot;A.x: &amp;quot; + A.X.ToString() + &amp;quot; B.x &amp;quot; + B.X.ToString())&lt;br /&gt;
        A.X = 1&lt;br /&gt;
        B = A&lt;br /&gt;
        FunctionPassStructureByValue(B)&lt;br /&gt;
        Console.WriteLine(&amp;quot;After FunctionPassStructureByValue&amp;quot;)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Are A and B the same? &amp;quot; + (A.Equals(B)).ToString())&lt;br /&gt;
        Console.WriteLine(&amp;quot;A.x: &amp;quot; + A.X.ToString() + &amp;quot; B.x &amp;quot; + B.X.ToString())&lt;br /&gt;
        A.X = 1&lt;br /&gt;
        B = A&lt;br /&gt;
        FStructByVal2(B)&lt;br /&gt;
        Console.WriteLine(&amp;quot;After FStructByVal2&amp;quot;)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Are A and B the same? &amp;quot; + (A.Equals(B)).ToString())&lt;br /&gt;
        Console.WriteLine(&amp;quot;A.x: &amp;quot; + A.X.ToString() + &amp;quot; B.x &amp;quot; + B.X.ToString())&lt;br /&gt;
        &lt;br /&gt;
   End Sub&lt;br /&gt;
   Shared Public Sub FunctionPassStructureByReference1(ByRef Y As MyStruct)&lt;br /&gt;
        Y.X = 5&lt;br /&gt;
    End Sub&lt;br /&gt;
   Shared Public Sub FunctionPassStructureByReference2(ByRef Y As MyStruct)&lt;br /&gt;
        Y = New MyStruct()&lt;br /&gt;
        Y.X = 5&lt;br /&gt;
    End Sub&lt;br /&gt;
   Shared Public Sub FunctionPassStructureByValue(ByVal Y As MyStruct)&lt;br /&gt;
        Y.X = 5&lt;br /&gt;
    End Sub&lt;br /&gt;
   Shared Public Sub FStructByVal2(ByVal Y As MyStruct)&lt;br /&gt;
        Y = New MyStruct()&lt;br /&gt;
        Y.X = 5&lt;br /&gt;
    End Sub&lt;br /&gt;
&lt;br /&gt;
    Structure MyStruct&lt;br /&gt;
        Public X As Integer&lt;br /&gt;
    End Structure&lt;br /&gt;
End Class&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>