当你还使用For…Each循环或者是For 1 To Count 循环处理集合的时候,VB .NET中加入了一种新的技术,IEnumerator界面。
IEnumerator界面支持两种方法和一种特性。MoveNext方法能在集合中一次移动一条记录。Reset方法能使枚举器复位到集合的起始。Current特性能从集合返回当前记录。
下面的程序显示了这三种计算集合的可能的办法。
Dim testCollection As New Collection()
Dim collectionItem As String
Dim loopCounter As Integer
Dim enumCollection As Ienumerator
With testCollection
.Add("1")
.Add("2")
.Add("3")
End With
For Each collectionItem In testCollection
Console.Out.WriteLine(collectionItem)
Next
For loopCounter = 1 To testCollection.Count
Console.Out.WriteLine(testCollection.Item(loopCounter))
Next
enumCollection = testCollection.GetEnumerator()
Do While enumCollection.MoveNext
Console.Out.WriteLine(enumCollection.Current)
Loop
IEnumerator带给你For…Each技术所能提供的计数功能,另外还有使循环复位和从起始位置开始的新加功能。