我無法理解什麼是沒有發生,在我的情況下,與IEnumerator在VB.NET中。在VB.NET中瞭解IEnumerator - 重置
我有這樣的代碼,它從數據庫中提取數據,然後讀取前兩行,將每行中的列總結爲'numGirls'。然後,通過'resEnum1.Reset()',我期望'resEnum'將自己重置爲集合的開始,但它不會;
Dim resEnum1 As IEnumerator = iTrack.res_by_gender(False, YearCB.Text).GetEnumerator
resEnum1.Reset()
Dim resSet As Object
Dim numGirls As Integer = 0
For x = 0 To 1
resEnum1.MoveNext()
resSet = resEnum1.Current
numGirls += resSet.qty
Next
resEnum1.Reset()
在這一點上,我的代碼應該繼續和迭代通過收集開始集合(-1)的集合與MoveNext;
While resEnum1.MoveNext
'...........'
End While
然而,IEnumerator的(resEnum1)不INFACT得到復位,而是從集合的第三行繼續。爲什麼?
很顯然,我並沒有理解一些東西,除非我重新發明輪子並在代碼中實現「重置」?
也許返回的枚舉器是「只向前」?你知道'res_by_gender'的DataType嗎? –
Doh!你是對的,至少我認爲你是。這種類型是ISingleResult,據我所知,它確實是僅限於戰爭。非常感謝你的產品。 – user3115420
我已經發布了一個答案,因爲其他人可能會遇到同樣的問題。 –