av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

詳細(xì)講述VB.NET IEnumerator接口

經(jīng)過長時(shí)間學(xué)習(xí)VB.NET IEnumerator接口,于是和大家分享一下,看完本文你肯定有不少收獲,希望本文能教會你更多東西。在面向?qū)ο蟮脑O(shè)計(jì)中,經(jīng)常會用到有類似父子關(guān)系的這個(gè)對象,比如在我現(xiàn)在的一個(gè)項(xiàng)目中,有訂單對象,在一個(gè)訂單下又包含多個(gè)產(chǎn)品,這時(shí)我就想用Iterator模式來封裝訂單下的產(chǎn)品,在dot Net中的IEnumerator接口就是用來實(shí)現(xiàn)迭代的,來支持dot Net中的for each的操作。

我們擁有十多年網(wǎng)頁設(shè)計(jì)和網(wǎng)站建設(shè)經(jīng)驗(yàn),從網(wǎng)站策劃到網(wǎng)站制作,我們的網(wǎng)頁設(shè)計(jì)師為您提供的解決方案。為企業(yè)提供成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、微信開發(fā)、微信平臺小程序開發(fā)、移動網(wǎng)站建設(shè)、H5網(wǎng)站設(shè)計(jì)、等業(yè)務(wù)。無論您有什么樣的網(wǎng)站設(shè)計(jì)或者設(shè)計(jì)方案要求,我們都將富于創(chuàng)造性的提供專業(yè)設(shè)計(jì)服務(wù)并滿足您的需求。

要實(shí)現(xiàn)VB.NET IEnumerator接口,需在實(shí)現(xiàn)以下幾個(gè)函數(shù)來支持VB.NET IEnumerator接口的操作

 
 
 
  1. Overridable ReadOnly Property Current() As Object  
  2. 'Current用于在迭代過程中得到當(dāng)前的對象  
  3. Public Overridable Function MoveNext() As Boolean 

MoveNext用于在迭代過程中將迭代指針指向下一個(gè)對象,初始是迭代指針指向集合的開始(在第一個(gè)節(jié)點(diǎn)之前的位置),一旦越過集合的結(jié)尾,在調(diào)用 Reset 之前,對 MoveNext 的后續(xù)調(diào)用返回 false。

 
 
 
  1. Overridable Sub Reset() 

#t#將枚舉數(shù)設(shè)置為其初始位置,該位置位于集合中第一個(gè)元素之前。

只要集合保持不變,枚舉數(shù)就將保持有效。如果對集合進(jìn)行了更改(例如添加、修改或刪除元素),則該枚舉數(shù)將失效且不可恢復(fù),并且下一次對 MoveNext 或 Reset 的調(diào)用將引發(fā) InvalidOperationException。

下面是一個(gè)具體的實(shí)現(xiàn)VB.NET IEnumerator接口的對像

 
 
 
  1. Imports System.Collections  
  2.  
  3. '在此實(shí)際實(shí)現(xiàn)的是System.Collections.IEnumerable接口,
    IteratorProduct 用此接口來向使用者提供對IEnumerator接口的操作。  
  4.  
  5. Public Class IteratorProduct : Implements System.Collections.IEnumerable  
  6. Private Products As Collection '用Collection在存訂單中的所有產(chǎn)品  
  7. Private item As Integer = -1  
  8.  
  9. Public Sub New()  
  10. Products = New Collection  
  11. Products.Add("xh") '這只是為了測試方便,將加入產(chǎn)品的內(nèi)容直接寫在這了  
  12. Products.Add("lj")  
  13. Products.Add("qd")  
  14. End Sub  
  15.  
  16. Overridable ReadOnly Property Current() As Object  
  17. Get  
  18. Return Products(item)  
  19. End Get  
  20. End Property  
  21.  
  22. Public Overridable Function MoveNext() As Boolean  
  23. item += 1  
  24. End Function  
  25.  
  26. Overridable Sub Reset()  
  27. item = -1  
  28. End Sub  
  29.  
  30. '返回迭代對像給使用者  
  31.  
  32. Overridable Function GetEnumerator() 
    As IEnumerator Implements IEnumerable.GetEnumerator  
  33. Return Me.Products.GetEnumerator  
  34. End Function  
  35.  
  36. End Class  
  37.  
  38. Private Sub Page_Load(ByVal sender As System.Object, 
    ByVal e As System.EventArgs) Handles MyBase.Load  
  39. Dim Products As IteratorProduct  
  40. Products = New IteratorProduct  
  41. Dim ProductName As String  
  42. For Each ProductName In Products  
  43. Response.Write(ProductName)  
  44. Response.Write("
    ")  
  45. Next  
  46. End Sub 

文章標(biāo)題:詳細(xì)講述VB.NET IEnumerator接口
分享地址:http://uogjgqi.cn/article/dpedpop.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們在微信上24小時(shí)期待你的聲音

解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流