Implements IEnumerable : IEnumerable « System.Collections « VB.Net by API

Home
VB.Net by API
1.Microsoft.VisualBasic
2.Microsoft.Win32
3.System
4.System.Collections
5.System.Collections.Generic
6.System.Collections.Specialized
7.System.ComponentModel
8.System.Configuration.ConfigurationSettings
9.System.Data
10.System.Data.Odbc
11.System.Data.OleDb
12.System.Data.OracleClient
13.System.Data.SqlClient
14.System.Diagnostics
15.System.Drawing
16.System.Drawing.Drawing2D
17.System.Drawing.Imaging
18.System.Drawing.Printing
19.System.Drawing.Text
20.System.Globalization
21.System.IO
22.System.IO.IsolatedStorage
23.System.IO.Ports
24.System.Media
25.System.Messaging
26.System.Net
27.System.Net.Sockets
28.System.Reflection
29.System.Runtime.InteropServices
30.System.Runtime.Remoting.Channels
31.System.Runtime.Serialization
32.System.Runtime.Serialization.Formatters.Binary
33.System.Runtime.Serialization.Formatters.Soap
34.System.Security.Cryptography
35.System.Security.Cryptography.X509Certificates
36.System.Security.Permissions
37.System.Security.Principal
38.System.ServiceProcess
39.System.Text
40.System.Text.RegularExpressions
41.System.Threading
42.System.Web
43.System.Web.Mail
44.System.Windows.Forms
45.System.Xml
46.System.Xml.Schema
47.System.Xml.Serialization
48.System.Xml.Xsl
VB.Net
VB.Net Tutorial
VB.Net by API » System.Collections » IEnumerable 
Implements IEnumerable
  

Imports System
Imports System.Collections
 
Public Class MainClass

    Shared Sub Main(ByVal args As String())
                 

             Dim intCollection As New Collection( )
             Dim empCollection As New Collection( )
             Dim empCollection2 As New Collection( )

             ' populate the Collections
             Dim As Integer
             For i = To 4
                 empCollection.Add(New EnumerableClass("A""B"))
                 intCollection.Add((i * 5))
             Next i

             ' add key/value pairs
             empCollection2.Add(New EnumerableClass("A""B")"A B")
             empCollection2.Add(New EnumerableClass("C""D")"C D")
             empCollection2.Add(New EnumerableClass("E""F")"E F")

             ' print each member of the array
             For Each i In intCollection
                 Console.Write("{0} ", i.ToString( ))
             Next i

             Console.WriteLine( )
             Console.WriteLine("Employee collection...")
             Dim As EnumerableClass
             For Each e In empCollection
                 Console.Write("{0} ", e.ToString( ))
             Next e

             Console.WriteLine( )
             Console.WriteLine("Employee collection 2...")
             For Each e In empCollection2
                 Console.Write("{0} ", e.ToString( ))
             Next e

             Console.WriteLine( )

             ' retrieve an Employee by key
             Dim emp As EnumerableClass
             emp = empCollection2.Item("A B")
             Console.WriteLine_
               " empID {0}", emp.ToString( ))

             ' note that indexing is 1-based (rather than zero based)
             emp = empCollection2.Item(1)
             Console.WriteLine_
               "Index(1) retrieved empID {0}", emp.ToString( ))
    End Sub
End Class

     Public Class EnumerableClass : Implements IEnumerable
         Private strings( ) As String
         Private ctr As Integer = 0

         Private Class MyEnumerator
             Implements IEnumerator
             Private currentListBox As EnumerableClass
             Private index As Integer

             Public Sub New(ByVal currentListBox As EnumerableClass)
                 Me.currentListBox = currentListBox
                 index = -1
             End Sub

             Public Function MoveNext( ) As Boolean _
               Implements IEnumerator.MoveNext
                 index += 1
                 If index >= currentListBox.strings.Length Then
                     Return False
                 Else
                     Return True
                 End If
             End Function

             Public Sub Reset( ) _
               Implements IEnumerator.Reset
                 index = -1
             End Sub

             Public ReadOnly Property Current( ) As Object _
             Implements IEnumerator.Current
                 Get
                     Return currentListBox(index)
                 End Get
             End Property
         End Class  ' end nested class

         Public Function GetEnumerator( ) As IEnumerator _
         Implements IEnumerable.GetEnumerator
             Return New MyEnumerator(Me)
         End Function

         Public Sub New_
           ByVal ParamArray initialStrings( ) As String)
             ReDim strings(7)

             Dim As String
             For Each s In initialStrings
                 strings(ctr= s
                 ctr += 1
             Next
         End Sub

         Public Sub Add(ByVal theString As String)
             strings(ctr= theString
             ctr += 1
         End Sub

         Default Public Property Item_
           ByVal index As IntegerAs String
             Get
                 If index < Or index >= strings.Length Then
                     ' handle bad index
                     Exit Property
                 End If
                 Return strings(index)
             End Get
             Set(ByVal Value As String)
                 strings(index= Value
             End Set
         End Property

         Public Function GetNumEntries( ) As Integer
             Return ctr
         End Function

     End Class

   
    
  
Related examples in the same category
1.IEnumerable.GetEnumerator
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.