Store Objects in Collection and retrieve
Imports System Imports System.Collections Public Class MainClass Shared Sub Main() Dim intCollection As New Collection( ) Dim empCollection As New Collection( ) Dim empCollection2 As New Collection( ) 'populate the Collections Dim i As Integer For i = 0 To 4 empCollection.Add(New Employee(i + 100)) intCollection.Add((i * 5)) Next i 'add key/value pairs empCollection2.Add(New Employee(1989), "G W") empCollection2.Add(New Employee(1997), "J A") empCollection2.Add(New Employee(1901), "T J") '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 e As Employee 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 Employee emp = empCollection2.Item("J A") Console.WriteLine( emp.ToString( )) 'note that indexing is 1-based (rather than zero based) emp = empCollection2.Item(1) Console.WriteLine(emp.ToString( )) End Sub End Class Public Class Employee Private myEmpID As Integer Public Sub New(ByVal empID As Integer) Me.myEmpID = empID End Sub 'New Public Overrides Function ToString( ) As String Return myEmpID.ToString( ) End Function 'ToString Public Property EmpID( ) As Integer Get Return myEmpID End Get Set(ByVal Value As Integer) myEmpID = Value End Set End Property End Class 'Employee