Enumerator Reset
Imports System.Collections
public class Test
public Shared Sub Main
Dim StringArray() As String = {"This", "is", "a", "test"}
Array.Reverse(StringArray)
Dim E As IEnumerator = StringArray.GetEnumerator()
While (E.MoveNext())
Console.WriteLine(E.Current())
End While
E.Reset()
While (E.MoveNext())
Console.WriteLine(E.Current())
End While
End Sub
End class
test
a
is
This
test
a
is
This
Get Enumerator from Collection for custom object
Imports System.Collections
public class Test
public Shared Sub Main
Dim employees As New Collection
employees.Add(New Employee("A"))
employees.Add(New Manager("B"))
employees.Add(New Employee("C"))
Dim emp As Employee
Dim employee_enumerator As IEnumerator
employee_enumerator = employees.GetEnumerator()
Do While (employee_enumerator.MoveNext)
emp = CType(employee_enumerator.Current, Employee)
Console.WriteLine(emp.Name)
Loop
End Sub
End class
Public Class Employee
Public Name As String
Public Sub New(ByVal new_name As String)
Name = new_name
End Sub
Public Overridable Function IsManager() As Boolean
Return False
End Function
End Class
Public Class Customer
Public Name As String
Public Sub New(ByVal new_name As String)
Name = new_name
End Sub
End Class
Public Class Manager
Inherits Employee
Public Sub New(ByVal new_name As String)
MyBase.new(new_name)
End Sub
Public Overrides Function IsManager() As Boolean
Return True
End Function
End Class
A
B
C
Iterator
Imports System.Collections
public class Test
public Shared Sub Main
Dim m_employees As New Collection
m_employees.Add(New employee("A", "F", "F"))
m_employees.Add(New employee("B", "E", "H"))
m_employees.Add(New employee("C", "D", "I"))
Dim emp As employee
Dim employee_enumerator As IEnumerator
employee_enumerator = m_employees.GetEnumerator()
Do While (employee_enumerator.MoveNext)
emp = CType(employee_enumerator.Current, Employee)
If emp.FirstName = "Oingo" Then Continue Do
Console.WriteLine(emp.Title & " " & emp.FirstName & " " & emp.LastName)
Loop
End Sub
End class
Public Class Employee
Public FirstName As String
Public LastName As String
Public Title As String
Public Sub New(ByVal first_name As String, ByVal last_name As String, ByVal new_title As String
)
FirstName = first_name
LastName = last_name
Title = new_title
End Sub
End Class
F A F
H B E
I C D
Iterator with While End
Imports System.Collections
public class Test
public Shared Sub Main
Dim m_employees As New Collection
m_employees.Add(New employee("A", "F", "F"))
m_employees.Add(New employee("B", "E", "H"))
m_employees.Add(New employee("C", "D", "I"))
Dim emp2 As Employee
Dim employee_enumerator2 As IEnumerator
employee_enumerator2 = m_employees.GetEnumerator()
While (employee_enumerator2.MoveNext)
emp2 = CType(employee_enumerator2.Current, Employee)
If emp2.FirstName = "A" Then Continue While
Console.WriteLine(emp2.Title & " " & emp2.FirstName & " " & emp2.LastName)
End While
End Sub
End class
Public Class Employee
Public FirstName As String
Public LastName As String
Public Title As String
Public Sub New(ByVal first_name As String, ByVal last_name As String, ByVal new_title As String
)
FirstName = first_name
LastName = last_name
Title = new_title
End Sub
End Class
H B E
I C D
Loop through an array using the Enumerator
Imports System.Collections
public class Test
public Shared Sub Main
Dim StringArray() As String = {"This", "is", "a", "test"}
Dim E As IEnumerator = StringArray.GetEnumerator()
While (E.MoveNext())
Console.WriteLine(E.Current())
End While
Console.WriteLine(Array.IndexOf(StringArray, "test"))
End Sub
End class
This
is
a
test
3