<?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%2FData_Structure%2FIEnumerable</id>
		<title>VB.Net/Data Structure/IEnumerable - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.vbex.ru/index.php?action=history&amp;feed=atom&amp;title=VB.Net%2FData_Structure%2FIEnumerable"/>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VB.Net/Data_Structure/IEnumerable&amp;action=history"/>
		<updated>2026-04-05T12:26:02Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VB.Net/Data_Structure/IEnumerable&amp;diff=1026&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/Data_Structure/IEnumerable&amp;diff=1026&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/Data_Structure/IEnumerable&amp;diff=1027&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VB.Net/Data_Structure/IEnumerable&amp;diff=1027&amp;oldid=prev"/>
				<updated>2010-05-26T12:45:47Z</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;==IEnumerable: array like access==&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.Collections&lt;br /&gt;
 &lt;br /&gt;
Public Class MainClass&lt;br /&gt;
    Shared Sub Main(ByVal args As String())&lt;br /&gt;
             &amp;quot; create a new list box and initialize&lt;br /&gt;
             Dim currentListBox As New EnumerableClass(&amp;quot;A&amp;quot;, &amp;quot;B&amp;quot;)&lt;br /&gt;
             &amp;quot; add a few strings&lt;br /&gt;
             currentListBox.Add(&amp;quot;C&amp;quot;)&lt;br /&gt;
             currentListBox.Add(&amp;quot;D&amp;quot;)&lt;br /&gt;
             currentListBox.Add(&amp;quot;E&amp;quot;)&lt;br /&gt;
             currentListBox.Add(&amp;quot;F&amp;quot;)&lt;br /&gt;
             &amp;quot; test the access&lt;br /&gt;
             Dim subst As String = &amp;quot;Z&amp;quot;&lt;br /&gt;
             currentListBox(1) = subst&lt;br /&gt;
             &amp;quot; access all the strings&lt;br /&gt;
             Dim s As String&lt;br /&gt;
             For Each s In currentListBox&lt;br /&gt;
                 Console.WriteLine(&amp;quot;Value: {0}&amp;quot;, s)&lt;br /&gt;
             Next&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
     Public Class EnumerableClass : Implements IEnumerable&lt;br /&gt;
         Private strings( ) As String&lt;br /&gt;
         Private ctr As Integer = 0&lt;br /&gt;
         Private Class MyEnumerator&lt;br /&gt;
             Implements IEnumerator&lt;br /&gt;
             Private currentListBox As EnumerableClass&lt;br /&gt;
             Private index As Integer&lt;br /&gt;
             Public Sub New(ByVal currentListBox As EnumerableClass)&lt;br /&gt;
                 Me.currentListBox = currentListBox&lt;br /&gt;
                 index = -1&lt;br /&gt;
             End Sub&lt;br /&gt;
             Public Function MoveNext( ) As Boolean _&lt;br /&gt;
               Implements IEnumerator.MoveNext&lt;br /&gt;
                 index += 1&lt;br /&gt;
                 If index &amp;gt;= currentListBox.strings.Length Then&lt;br /&gt;
                     Return False&lt;br /&gt;
                 Else&lt;br /&gt;
                     Return True&lt;br /&gt;
                 End If&lt;br /&gt;
             End Function&lt;br /&gt;
             Public Sub Reset( ) _&lt;br /&gt;
               Implements IEnumerator.Reset&lt;br /&gt;
                 index = -1&lt;br /&gt;
             End Sub&lt;br /&gt;
             Public ReadOnly Property Current( ) As Object _&lt;br /&gt;
             Implements IEnumerator.Current&lt;br /&gt;
                 Get&lt;br /&gt;
                     Return currentListBox(index)&lt;br /&gt;
                 End Get&lt;br /&gt;
             End Property&lt;br /&gt;
         End Class  &amp;quot; end nested class&lt;br /&gt;
         Public Function GetEnumerator( ) As IEnumerator _&lt;br /&gt;
         Implements IEnumerable.GetEnumerator&lt;br /&gt;
             Return New MyEnumerator(Me)&lt;br /&gt;
         End Function&lt;br /&gt;
         Public Sub New( _&lt;br /&gt;
           ByVal ParamArray initialStrings( ) As String)&lt;br /&gt;
             ReDim strings(7)&lt;br /&gt;
             Dim s As String&lt;br /&gt;
             For Each s In initialStrings&lt;br /&gt;
                 strings(ctr) = s&lt;br /&gt;
                 ctr += 1&lt;br /&gt;
             Next&lt;br /&gt;
         End Sub&lt;br /&gt;
         Public Sub Add(ByVal theString As String)&lt;br /&gt;
             strings(ctr) = theString&lt;br /&gt;
             ctr += 1&lt;br /&gt;
         End Sub&lt;br /&gt;
         Default Public Property Item( _&lt;br /&gt;
           ByVal index As Integer) As String&lt;br /&gt;
             Get&lt;br /&gt;
                 If index &amp;lt; 0 Or index &amp;gt;= strings.Length Then&lt;br /&gt;
                     &amp;quot; handle bad index&lt;br /&gt;
                     Exit Property&lt;br /&gt;
                 End If&lt;br /&gt;
                 Return strings(index)&lt;br /&gt;
             End Get&lt;br /&gt;
             Set(ByVal Value As String)&lt;br /&gt;
                 strings(index) = Value&lt;br /&gt;
             End Set&lt;br /&gt;
         End Property&lt;br /&gt;
         Public Function GetNumEntries( ) As Integer&lt;br /&gt;
             Return ctr&lt;br /&gt;
         End Function&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;
==Implements IEnumerable==&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.Collections&lt;br /&gt;
Public Class MainClass&lt;br /&gt;
    &lt;br /&gt;
    Shared Sub Main()&lt;br /&gt;
       Dim currentListBox As New _&lt;br /&gt;
           ListBoxTest(&amp;quot;Hello&amp;quot;, &amp;quot;World&amp;quot;)&lt;br /&gt;
       &amp;quot;add a few strings&lt;br /&gt;
       currentListBox.Add(&amp;quot;o&amp;quot;)&lt;br /&gt;
       currentListBox.Add(&amp;quot;s&amp;quot;)&lt;br /&gt;
       currentListBox.Add(&amp;quot;n&amp;quot;)&lt;br /&gt;
       currentListBox.Add(&amp;quot;t&amp;quot;)&lt;br /&gt;
       &amp;quot;test the access&lt;br /&gt;
       Dim subst As String = &amp;quot;Universe&amp;quot;&lt;br /&gt;
       currentListBox(1) = subst&lt;br /&gt;
       &amp;quot;access all the strings&lt;br /&gt;
       Dim s As String&lt;br /&gt;
       For Each s In currentListBox&lt;br /&gt;
           Console.WriteLine(&amp;quot;Value: {0}&amp;quot;, s)&lt;br /&gt;
       Next&lt;br /&gt;
   End Sub&lt;br /&gt;
End Class&lt;br /&gt;
     Public Class ListBoxTest : Implements IEnumerable&lt;br /&gt;
         Private strings(  ) As String&lt;br /&gt;
         Private ctr As Integer = 0&lt;br /&gt;
         Private Class ListBoxEnumerator&lt;br /&gt;
             Implements IEnumerator&lt;br /&gt;
             Private currentListBox As ListBoxTest&lt;br /&gt;
             Private index As Integer&lt;br /&gt;
             Public Sub New(ByVal currentListBox As ListBoxTest)&lt;br /&gt;
                 Me.currentListBox = currentListBox&lt;br /&gt;
                 index = -1&lt;br /&gt;
             End Sub&lt;br /&gt;
             Public Function MoveNext(  ) As Boolean _&lt;br /&gt;
               Implements IEnumerator.MoveNext&lt;br /&gt;
                 index += 1&lt;br /&gt;
                 If index &amp;gt;= currentListBox.strings.Length Then&lt;br /&gt;
                     Return False&lt;br /&gt;
                 Else&lt;br /&gt;
                     Return True&lt;br /&gt;
                 End If&lt;br /&gt;
             End Function&lt;br /&gt;
             Public Sub Reset(  ) _&lt;br /&gt;
               Implements IEnumerator.Reset&lt;br /&gt;
                 index = -1&lt;br /&gt;
             End Sub&lt;br /&gt;
             Public ReadOnly Property Current(  ) As Object _&lt;br /&gt;
             Implements IEnumerator.Current&lt;br /&gt;
                 Get&lt;br /&gt;
                     Return currentListBox(index)&lt;br /&gt;
                 End Get&lt;br /&gt;
             End Property&lt;br /&gt;
         End Class &lt;br /&gt;
         Public Function GetEnumerator(  ) As IEnumerator _&lt;br /&gt;
         Implements IEnumerable.GetEnumerator&lt;br /&gt;
             Return New ListBoxEnumerator(Me)&lt;br /&gt;
         End Function&lt;br /&gt;
         Public Sub New( _&lt;br /&gt;
           ByVal ParamArray initialStrings(  ) As String)&lt;br /&gt;
             ReDim strings(7)&lt;br /&gt;
             Dim s As String&lt;br /&gt;
             For Each s In initialStrings&lt;br /&gt;
                 strings(ctr) = s&lt;br /&gt;
                 ctr += 1&lt;br /&gt;
             Next&lt;br /&gt;
         End Sub&lt;br /&gt;
         Public Sub Add(ByVal theString As String)&lt;br /&gt;
             strings(ctr) = theString&lt;br /&gt;
             ctr += 1&lt;br /&gt;
         End Sub&lt;br /&gt;
         Default Public Property Item( _&lt;br /&gt;
           ByVal index As Integer) As String&lt;br /&gt;
             Get&lt;br /&gt;
                 If index &amp;lt; 0 Or index &amp;gt;= strings.Length Then&lt;br /&gt;
                     &amp;quot; handle bad index&lt;br /&gt;
                     Exit Property&lt;br /&gt;
                 End If&lt;br /&gt;
                 Return strings(index)&lt;br /&gt;
             End Get&lt;br /&gt;
             Set(ByVal Value As String)&lt;br /&gt;
                 strings(index) = Value&lt;br /&gt;
             End Set&lt;br /&gt;
         End Property&lt;br /&gt;
         Public Function GetNumEntries(  ) As Integer&lt;br /&gt;
             Return ctr&lt;br /&gt;
         End Function&lt;br /&gt;
     End Class&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>