成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

VB.NET IEnumerator接口操作代碼解讀

開(kāi)發(fā) 后端
VB.NET IEnumerator接口主要功能就是幫助開(kāi)發(fā)人員實(shí)現(xiàn)迭代,并且還能支持其中的for each等操作。下面讓我們一起來(lái)看看具體的編寫(xiě)方式。

VB.NET從出現(xiàn)到今天已經(jīng)經(jīng)過(guò)了一段比較長(zhǎng)的過(guò)渡期,而且這項(xiàng)技術(shù)語(yǔ)言正在穩(wěn)步健康的向前發(fā)展,為開(kāi)發(fā)人員不斷的提供新的功能。在面向?qū)ο蟮脑O(shè)計(jì)中,經(jīng)常會(huì)用到有類(lèi)似父子關(guān)系的這個(gè)對(duì)象,比如在我現(xiàn)在的一個(gè)項(xiàng)目中,有訂單對(duì)象,在一個(gè)訂單下又包含多個(gè)產(chǎn)品,這時(shí)我就想用 Iterator模式來(lái)封裝訂單下的產(chǎn)品,VB.NET IEnumerator接口就是用來(lái)實(shí)現(xiàn)迭代的,來(lái)支持VB.NET中的for each的操作。#t#

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

 

  1. Overridable ReadOnly 
    Property Current() As Object 

Current用于在迭代過(guò)程中得到當(dāng)前的對(duì)象

  1. Public Overridable 
    Function MoveNext() 
    As Boolean 

 

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

  1. Overridable 
    Sub Reset() 

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

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

下面是一個(gè)具體的VB.NET IEnumerator接口的對(duì)像

  1. Imports System.Collections   
  2. '在此實(shí)際實(shí)現(xiàn)的是System.Collections.
    IEnumerable接口,   
  3. IteratorProduct 用此接口來(lái)向使用者
    提供對(duì)VB.NET IEnumerator接口的操作。   
  4. Public Class IteratorProduct : 
    Implements System.Collections.
    IEnumerable   
  5. Private Products As Collection 
    '用Collection在存訂單中的所有產(chǎn)品   
  6. Private item As Integer = -1   
  7. Public Sub New()   
  8. Products = New Collection   
  9. Products.Add("xh") '這只是為了
    測(cè)試方便,將加入產(chǎn)品的內(nèi)容直接寫(xiě)在這了   
  10. Products.Add("lj")   
  11. Products.Add("qd")   
  12. End Sub   
  13. Overridable ReadOnly Property 
    Current() As Object   
  14. Get   
  15. Return Products(item)   
  16. End Get   
  17. End Property   
  18. Public Overridable Function 
    MoveNext() As Boolean   
  19. item += 1   
  20. End Function   
  21. Overridable Sub Reset()   
  22. item = -1   
  23. End Sub   
  24. '返回迭代對(duì)像給使用者   
  25. Overridable Function GetEnumerator()   
  26. As IEnumerator Implements 
    IEnumerable.GetEnumerator   
  27. Return Me.Products.GetEnumerator   
  28. End Function   
  29. End Class 

VB.NET IEnumerator接口的相關(guān)代碼示例就為大家介紹到這里。

責(zé)任編輯:曹凱 來(lái)源: 中國(guó)IT實(shí)驗(yàn)室
相關(guān)推薦

2009-11-02 15:45:03

VB.NET IEnu

2009-10-29 16:23:42

VB.NET實(shí)現(xiàn)IEn

2010-01-13 09:31:39

VB.NET窗體打印

2010-01-13 15:01:13

VB.NET操作MyS

2010-01-08 10:48:05

VB.NET多線(xiàn)程

2010-01-19 17:03:25

VB.NET可執(zhí)行語(yǔ)句

2010-01-08 14:50:47

VB.NET測(cè)試硬盤(pán)速

2010-01-07 17:51:36

VB.NET實(shí)現(xiàn)Sin

2009-08-19 16:38:30

VB.NET接口范例

2009-10-27 12:06:01

VB.NET IDis

2010-01-20 14:32:12

VB.NET轉(zhuǎn)換運(yùn)算符

2010-01-11 11:37:08

VB.NET操作CSV

2010-01-11 11:02:27

VB.NET調(diào)用存儲(chǔ)過(guò)

2010-01-18 16:58:29

VB.NET Over

2010-01-07 10:28:04

VB.NET實(shí)現(xiàn)接口

2009-10-09 16:54:03

VB.NET窗體

2009-11-02 10:42:04

VB.NET EXCE

2010-01-15 11:31:02

VB.NET接口實(shí)現(xiàn)多

2010-01-08 10:37:50

VB.NET數(shù)據(jù)庫(kù)

2010-01-08 15:41:36

VB.NET窗口關(guān)閉
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 久久激情av | 日韩欧美中文字幕在线观看 | 久久精品一区二区 | 日本高清中文字幕 | 一区欧美 | 性大毛片视频 | 一区二区中文字幕 | 久久久久久久久久久丰满 | 91美女在线观看 | 一区二区三区欧美大片 | 亚洲欧洲综合av | 三级视频久久 | 日韩精品无码一区二区三区 | 国产成人午夜电影网 | 亚洲国产精品久久久久久 | 国产剧情久久 | 精品久久国产 | 久久69精品久久久久久久电影好 | 亚洲小视频在线观看 | 欧美视频精品 | 欧美男人天堂 | 久久夜视频 | 午夜精品一区二区三区在线观看 | 一区视频在线播放 | 日本不卡在线观看 | 91成人精品 | 久久精品国产99国产精品 | 日韩成人av在线 | 亚洲婷婷一区 | 日韩欧美三级在线 | 成人精品视频在线观看 | 爱爱免费视频 | 久久久国产一区 | 九九伦理电影 | 亚洲国产高清在线观看 | 欧美亚洲国产一区二区三区 | www.青青草| 97人人干 | 三级在线免费观看 | 国产精品久久久久999 | 成人一区二区三区 |