<?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%2FByRef</id>
		<title>VB.Net/Language Basics/ByRef - История изменений</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%2FByRef"/>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VB.Net/Language_Basics/ByRef&amp;action=history"/>
		<updated>2026-04-05T08:57:26Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VB.Net/Language_Basics/ByRef&amp;diff=182&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/ByRef&amp;diff=182&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/ByRef&amp;diff=183&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/ByRef&amp;diff=183&amp;oldid=prev"/>
				<updated>2010-05-26T12:42:09Z</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 passed 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(ByVal args As String())&lt;br /&gt;
      Dim i As Integer&lt;br /&gt;
      &amp;quot; declare array references&lt;br /&gt;
      Dim secondArray As Integer()&lt;br /&gt;
      Dim secondArrayCopy As Integer()&lt;br /&gt;
      &amp;quot; allocate secondArray and copy its reference&lt;br /&gt;
      secondArray = New Integer() {1, 2, 3}&lt;br /&gt;
      secondArrayCopy = secondArray&lt;br /&gt;
      Console.WriteLine(vbCrLf &amp;amp; &amp;quot;Test passing array &amp;quot; &amp;amp; _&lt;br /&gt;
         &amp;quot;reference using ByRef.&amp;quot;)&lt;br /&gt;
      Console.Write(&amp;quot;Contents of secondArray before &amp;quot; &amp;amp; _&lt;br /&gt;
         &amp;quot;calling SecondDouble: &amp;quot;)&lt;br /&gt;
      &amp;quot; print contents of secondArray before procedure call&lt;br /&gt;
      For i = 0 To secondArray.GetUpperBound(0)&lt;br /&gt;
         Console.Write(secondArray(i) &amp;amp; &amp;quot; &amp;quot;)&lt;br /&gt;
      Next&lt;br /&gt;
      &amp;quot; pass secondArray using ByRef&lt;br /&gt;
      SecondDouble(secondArray)&lt;br /&gt;
      Console.Write(vbCrLf &amp;amp; &amp;quot;Contents of secondArray &amp;quot; &amp;amp; _&lt;br /&gt;
         &amp;quot;after calling SecondDouble: &amp;quot;)&lt;br /&gt;
      &amp;quot; print contents of secondArray after procedure call&lt;br /&gt;
      For i = 0 To secondArray.GetUpperBound(0)&lt;br /&gt;
         Console.Write(secondArray(i) &amp;amp; &amp;quot; &amp;quot;)&lt;br /&gt;
      Next&lt;br /&gt;
      &amp;quot; test whether the reference was changed by SecondDouble&lt;br /&gt;
      If secondArray Is secondArrayCopy Then&lt;br /&gt;
         Console.WriteLine(vbCrLf &amp;amp; &amp;quot;The references are &amp;quot; &amp;amp; _&lt;br /&gt;
            &amp;quot;equal.&amp;quot;)&lt;br /&gt;
      Else&lt;br /&gt;
         Console.WriteLine(vbCrLf &amp;amp; &amp;quot;The references are &amp;quot; &amp;amp; _&lt;br /&gt;
            &amp;quot;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 ByRef)&lt;br /&gt;
   Shared Sub SecondDouble(ByRef array As Integer())&lt;br /&gt;
      Dim i As Integer&lt;br /&gt;
      &amp;quot; double contents of array&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 &amp;quot; SecondDouble&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;
==Modify Array Element 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(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;
      &amp;quot; array element passed by reference&lt;br /&gt;
      ModifyElementByRef(array1(3))&lt;br /&gt;
      Console.WriteLine(  vbCrLf &amp;amp; &amp;quot;array1(3) after &amp;quot; &amp;amp; _&lt;br /&gt;
         &amp;quot;ModifyElementByRef: &amp;quot; &amp;amp; array1(3) )&lt;br /&gt;
    End Sub&lt;br /&gt;
   Shared Sub ModifyElementByRef(ByRef 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;ModifyElementByRef: &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;ModifyElementByRef: &amp;quot; &amp;amp; element )&lt;br /&gt;
   End Sub &amp;quot; ModifyElementByRef&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;
==Pass parameter By value or 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;
Imports System.Diagnostics&lt;br /&gt;
Public Class MainClass&lt;br /&gt;
    Shared Sub DoubleItByVal(ByVal X As Single)&lt;br /&gt;
        X *= 2&lt;br /&gt;
    End Sub&lt;br /&gt;
    Shared Sub DoubleItByRef(ByRef X As Single)&lt;br /&gt;
        X *= 2&lt;br /&gt;
    End Sub&lt;br /&gt;
    Shared Sub Main()&lt;br /&gt;
        Dim value As Single&lt;br /&gt;
        value = 10&lt;br /&gt;
        DoubleItByVal(value)&lt;br /&gt;
        Console.WriteLine(value)&lt;br /&gt;
        value = 10&lt;br /&gt;
        DoubleItByRef(value)&lt;br /&gt;
        Console.WriteLine(value)&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;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>