Mega Code Archive

 
Categories / VB.Net / Data Structure
 

Use ArrayList to Store your own class

Imports System Imports System.Collections   Public Class MainClass     Shared Sub Main(ByVal args As String())              Dim empArray As New ArrayList( )              Dim intArray As New ArrayList( )              ' populate the arraylists              Dim i As Integer              For i = 0 To 4                  empArray.Add(New EnumerableClass("A", "B"))                  intArray.Add((i * 5))              Next i              ' print each member of the array              For Each i In intArray                  Console.Write("{0} ", i.ToString( ))              Next i              Console.WriteLine(ControlChars.Lf)              ' print each employee              Dim e As EnumerableClass              For Each e In empArray                  Console.Write("{0} ", e.ToString( ))              Next e              Console.WriteLine(ControlChars.Lf)              Console.WriteLine("empArray.Capacity: {0}", empArray.Capacity)     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 s 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 Integer) As String              Get                  If index < 0 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