當你還使用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技術所能提供的計數功能,另外還有使循環復位和從起始位置開始的新加功能。
|